我们刚刚升级到ASP.NET 4.0,发现requestValidation不再起作用。 MSDN文档建议我们需要将web.config中的requestValidationMode设置为2.0:



这将对我们有用,但是我有些困惑。似乎我们正在将其置于旧版/兼容模式。当然应该有4.0行为,但仍然可以选择在页面上将其关闭吗?

最佳答案

我找到了一种无需将RequestValidationMode更改为整个站点2.0即可实现的方法:

您可以为要禁用请求验证的页面创建一个子目录,并在其中将RequestValidationMode设置为2.0的情况下向该目录添加新的web.config,这样只有该目录才能在2.0模式下工作,而不会影响所有其他请求。在4.0模式下工作。

我认为您可以在主web.config中添加仅指定一页的位置部分,但我尚未对此进行测试。
像这样:

<location path="Admin/Translation.aspx">
    <system.web>
        <httpRuntime requestValidationMode="2.0"/>
    </system.web>
</location>

希望它能对您有所帮助!

关于c# - 如何在不将RequestValidationMode设置为2.0的情况下禁用请求验证?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7740944/

10-12 00:27