asp.net – requestValidationMode 4.5 vs 2.0
requestValidationMode =“4.5”和requestValidationMode =“2.0”有区别吗?我有一个.net 4.5应用程序,有一个我不想验证的控件,用户可以在其中输入html标签:
<asp:TextBox ID="txtTitle" runat="server" ValidateRequestMode="Disabled" /> 在我的web.config我有: <compilation debug="true" strict="false" explicit="true" targetFramework="4.5">...</compilation> <httpRuntime targetFramework="4.5" requestValidationMode="2.0" /> 最初我已经提出requestValidationMode =“4.5”但是没有工作,我仍然会收到有关标签的错误 – “从客户端检测到潜在的危险Request.Form值…”,一旦提交表单.但是,如果我将它设置为requestValidationMode =“2.0”,它可以使用该命令来打印PageLoad并对该字段进行编码. 解决方法
是的,两者之间有区别.任何指定为4.0或以上的requestValidationMode将使用4.0的方式,并且任何requestValidationMode指定为4.0将使用2.0的方式.以下是对这两个的描述:
http://msdn.microsoft.com/en-us/library/system.web.configuration.httpruntimesection.requestvalidationmode.aspx 4.0(默认). HttpRequest对象内部设置一个标志,指示每当访问任何HTTP请求数据时都应触发请求验证.这保证在请求期间访问诸如Cookie和URL的数据之前触发请求验证.配置文件中的页面元素(如果有)的请求验证设置或单个页面中的@ Page指令的请求验证设置将被忽略. 2.0.请求验证仅对页面启用,而不是针对所有HTTP请求.此外,配置文件中的页面元素(如果有的话)的请求验证设置或单个页面中的@ Page指令的请求验证设置用于确定哪些页面请求进行验证. 注意:还有其他解决方案,因为您使用的是asp.net 4.5,您可能希望查看它在每个控件级别进行验证,这样可以将requestValidationMode属性保留在web.config中,并将其改为4.5对需要的控件. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-core – 哪些.NET框架版本支持.NET Framework(CLR)
- 子文件夹中忽略ASP.NET web.config授权设置
- asp.net – 防止用户在同一行上工作
- 密码保护IIS 7.5中的ASP.NET Web应用程序
- asp.net-mvc – 自定义模型绑定器不验证模型
- asp.net – 可以从没有这些.svn文件夹的subversion中检出文
- asp.net – 如何在.net核心框架中使用TransactionScope?我
- asp.net – 无法打开登录请求的数据库.登录失败.用户登录失
- asp.net-mvc – ASP.NET MVC验证ViewState MAC失败
- asp.net-mvc – 具有Repository,Service Layer和使用Model