Asp.net &引用;有潜在危险的请求。找到路径…”;在.NET 4上,requestValidationMode=";2.0“;和validateRequest=";假;设置

Asp.net &引用;有潜在危险的请求。找到路径…”;在.NET 4上,requestValidationMode=";2.0“;和validateRequest=";假;设置,asp.net,asp.net-mvc,validation,web-config,Asp.net,Asp.net Mvc,Validation,Web Config,我试图绕过.NET在您尝试提交HTML时抛出的错误消息: A potentially dangerous Request.Form value was detected from the client 阅读后,web.config如下所示: <configuration> <system.web> <httpRuntime requestValidationMode="2.0" requestPathInvalidCharacters="

我试图绕过.NET在您尝试提交HTML时抛出的错误消息:

A potentially dangerous Request.Form value was detected from the client
阅读后,web.config如下所示:

<configuration>
    <system.web>

        <httpRuntime requestValidationMode="2.0" requestPathInvalidCharacters=""/>

        <pages validateRequest="false">
            <namespaces>
                <add namespace="Microsoft.Web.Mvc" />
                <add namespace="System.Web.Mvc" />
                <add namespace="System.Web.Mvc.Ajax" />
                <add namespace="System.Web.Mvc.Html" />
                <add namespace="System.Web.Routing" />
            </namespaces>
        </pages>

    </system.web>
</configuration>


当我输入HTML时,仍然会出现错误。我正在使用VisualStudio开发服务器运行一个.NET4、MVC2应用程序

啊,看看这里的博客:

它谈到在您的操作中添加另一个属性,
[ValidateInput(false)]
,这很有趣,我还没有看到任何类似的问题在上面提到过

我将该属性添加到我的BaseController,我的应用程序中的所有控制器都继承自该属性,并且它立即开始工作

[ValidateInput(false)]
public class BaseController : Controller
{
    // code here
}
注意:我仍然需要包括以下两个方面:

<httpRuntime requestValidationMode="2.0"/>



在web配置中。

尝试在解决方案上执行干净的重建,如果需要,请关闭visual studio并清除临时ASP.NET文件。如果将
ValidateRequest
设置为false,则可能是缓存问题或DLL不同步

正如ajbeaven提到的,您可能还想尝试将
ValidateInput
属性添加到控制器类中

上述建议之一肯定能解决您的问题

<pages validateRequest="false" />