我的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,这是我已经完成的。
答案 0 :(得分:2)
试试这个。
在ValidateInput
过滤器中将EnableValidation
与false
添加到global
。
在FilterConfig.cs
public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
ValidateInputAttribute noValidate = new ValidateInputAttribute(false);
filters.Add(noValidate);
}