关闭请求验证不适用于MVC页面

时间:2014-08-11 16:22:03

标签: asp.net asp.net-mvc request-validation

我的Web应用程序包含WebForm页面和MVC视图。

在我的根web.config中,我有以下代码

<httpRuntime requestValidationMode="2.0" />

在我的我的web.config中,我有这个代码

<httpRuntime requestValidationMode="2.0" />

 <pages validateRequest="false" pageParserFilterType="System.Web.Mvc.
ViewTypeParserFilter, System.Web.Mvc, Version=3.0.0.0, Culture=neutral,
 PublicKeyToken=31BF3856AD364E35" pageBaseType="System.Web.Mvc.ViewPage,
 System.Web.Mvc, Version=3.0.0.0, Culture=neutral,
 PublicKeyToken=31BF3856AD364E35"
userControlBaseType="System.Web.Mvc.ViewUserControl, System.Web.Mvc,
 Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
  <controls>
    <add assembly="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, 
PublicKeyToken=31BF3856AD364E35" namespace="System.Web.Mvc" tagPrefix="mvc" />
  </controls>
</pages>

然后在我的网页表单上关闭验证,但不是我的MVC视图。我想为每个页面转换请求验证,因此在控制器级别执行它不是我的解决方案。

为什么这不适用于我的MVC视图的任何想法?我在网上找到的唯一一件事就是将验证模式变为2.0,并将validateRequest设置为false,这是我已经完成的。

1 个答案:

答案 0 :(得分:2)

试试这个。

ValidateInput过滤器中将EnableValidationfalse添加到global

FilterConfig.cs

public static void RegisterGlobalFilters(GlobalFilterCollection filters)
        {

            ValidateInputAttribute noValidate = new ValidateInputAttribute(false);
            filters.Add(noValidate);
        }