【问题标题】:Request validation turned off doesn't work on MVC pages请求验证关闭在 MVC 页面上不起作用
【发布时间】:2014-10-04 13:18:38
【问题描述】:

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

在我的根 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 视图。我想为每个页面启用请求验证,因此在控制器级别执行此操作对我来说不是解决方案。

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

【问题讨论】:

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


    【解决方案1】:

    试试这个。

    global 过滤器中将ValidateInputEnableValidation 添加到false

    FilterConfig.cs

    public static void RegisterGlobalFilters(GlobalFilterCollection filters)
            {
    
                ValidateInputAttribute noValidate = new ValidateInputAttribute(false);
                filters.Add(noValidate);
            }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-30
      • 1970-01-01
      • 2016-01-19
      • 2020-12-25
      • 1970-01-01
      • 2018-08-17
      相关资源
      最近更新 更多