ASP.NET 4.0 页面 ValidateRequest="false" 失效不起作用
当ASP.NET 2.0升级到 ASP.NET 4.0后,页面的 ValidateRequest=”false” 不起作用.
因为 ASP.NET 4.0 请求验证被提前到IHttpHandler.BeginRequest这个方法之前,所有进入ASP.NET请求都将会被进行请求内容合法性的验证,而这一合法性验证将由 web.config 文件中 validateRequest=”true” 属性来决定.如果是”true” 所有的请求都将被验证合法性,如果是”false”所有的请求都将不验证其合法性.
相比之下似乎 ASP.NET 2.0下更加灵活.因为在ASP.NET 4.0下,页面级别的合法性验证( ValidateRequest=”false”)完全被web.config中的validateRequest=”true”所覆盖掉.
所以ASP.NET 4.0下如何灵活应用页面级别的 ValidateRequest
有2种方法:
1.自己定义一个 继承自 RequestValidator 的类,然后配置文件中