发布
社区首页 >问答首页 >每个控件的ValidateRequest

每个控件的ValidateRequest
EN

Stack Overflow用户
提问于 2010-01-17 03:12:06
回答 2查看 921关注 0票数 0

我的ASP.NET页面包含"ValidateRequest = true“。但是,页面中有一个文本框我不希望ASP.NET对其进行验证。有没有办法使该控件的值为false?如果没有,有没有一种方法可以忽略“潜在威胁”错误,假设它来自特定的控制?

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-01-17 03:52:48

据我所知,执行此操作的唯一方法是调用HttpRequest类的ValidateString。不幸的是,它是私有的,所以你必须使用反射。

我没有对此进行测试--它与我使用的代码不完全相同。它是从我几年前写的代码改编而来的,所以也许微软有一些新的东西可以让这一切变得更容易。

代码语言:javascript
代码运行次数:0
复制
MethodInfo _validateMethodInfo = typeof(HttpRequest).GetMethod("ValidateString", BindingFlags.NonPublic | BindingFlags.Static | BindingFlags.InvokeMethod);
foreach (string key in Request.Form.AllKeys) {
  if (key = "< skipped field name >") {
    continue;
  }
  object[] parameters = { Request.Form[key], key, "Request.Form" };
  _validateMethodInfo.Invoke(Request, parameters);
}
票数 0
EN

Stack Overflow用户

发布于 2012-11-02 08:15:54

看看my question吧。显然,.NET 4.5现在支持将控件排除在页面请求验证之外。

http://msdn.microsoft.com/en-us/library/system.web.ui.control.validaterequestmode.aspx

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2078616

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档