我想在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" />