我想在ASP.NET MVC 2.0 RTM中的特定视图上禁用RequestValidation。所以我添加了一些必要的方法来查看Page指令部分,如下所示:

<%@ Page ValidateRequest="false" Language="C#" MasterPageFile="Path" Inherits="System.Web.Mvc.ViewPage<Path>" %>


但是RequestValidation未被禁用!我还向控制器中的相关操作添加了RequestValidation属性,如下所示:

[System.Web.Mvc.ValidateInput(false)]
public System.Web.Mvc.ActionResult Create(Model instance)
{
    //Do here something
}


:'),但RequestValidation也未禁用!

在最后一次尝试中,我在Web.config文件中将RequestValidation设置为false,如下所示:

<pages validateRequest="false" />


RequestValidation仍未关闭!

为什么?提前致谢 ;)

最佳答案

如果您使用的是asp.net 4.0,则验证请求功能的行为已从2.0版更改。检出breaking changes document here。如果是这种情况,您可以通过将请求验证行为设置回web.config中的2.0来解决问题,如下所示:

<httpRuntime requestValidationMode="2.0" />

07-26 05:30