我的 Web 应用程序包含 WebForm 页面和 MVC View 。
在我的根 web.config 中,我有以下代码
<httpRuntime requestValidationMode="2.0" />
在我的 Views 文件夹的 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>
然后,我的 Web 表单页面上的验证将被关闭,但 MVC View 上的验证不会被关闭。我想关闭每个页面的请求验证,因此在 Controller 级别执行此操作对我来说不是一个解决方案。
有什么想法为什么这不适用于我的 MVC View 吗?我在网上唯一能找到的就是将验证模式设置为 2.0 并将 validateRequest 设置为 false,我已经这样做了。
最佳答案
试试这个。
将 ValidateInput
和 EnableValidation
添加到 global
过滤器中的 false
。
在FilterConfig.cs
public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
ValidateInputAttribute noValidate = new ValidateInputAttribute(false);
filters.Add(noValidate);
}
关于asp.net - 关闭请求验证在 MVC 页面上不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25247904/