2

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

4

1 回答 1

2

尝试这个。

在过滤器ValidateInput中添加EnableValidationto 。falseglobal

FilterConfig.cs

public static void RegisterGlobalFilters(GlobalFilterCollection filters)
        {

            ValidateInputAttribute noValidate = new ValidateInputAttribute(false);
            filters.Add(noValidate);
        }
于 2014-08-11T17:39:15.097 回答