asp.net - 关闭请求验证在 MVC 页面上不起作用

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

我的 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,我已经这样做了。

最佳答案

试试这个。

ValidateInputEnableValidation 添加到 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/

相关文章:

javascript - 使用javascript获取母版页ContentPlaceHolders中文本框的值

c# mvc 将请求重新路由到不同的服务器

c# - 无法访问面板内动态表中的动态文本框/下拉控件

ASP.NET CssMinify,HttpContextBase

jquery - JQGrid 列中的文本框

aws-lambda - 将 Swagger API 验证与无服务器框架结合使用

c# - PKCS#11 在本地主机上工作,但它不在实时 Web 服务器(客户端计算机)上工作

asp.net-mvc - Entity Framework ,等待结果

asp.net-mvc - AngularJS 找不到 XSRF-TOKEN cookie

asp.net-mvc - "A potentially dangerous Request.Path value was detected from the client (%)."但请求似乎没问题