0

我有一个 MVC 项目,其中过滤器检查请求参数中的参数。

request.Params["Username"]

但如果请求包含非法字符,则 params 属性会引发 HttpRequestValidationException 异常。

所以我必须捕获这个异常然后访问工作正常的 params 属性。

如何禁用此请求的验证,该请求作为 HttpRequestBase 到达帮助程序类?我不想为每个请求全局执行此操作,就在它到达此类时。

4

2 回答 2

1

正如@Jon-S 评论的那样, UnvalidatedRequestValues 是您可以绕过对单个值的验证的方式。在此示例中,它将是:

request.Unvalidated["Username"] 
于 2014-06-11T17:57:57.863 回答
0

如果没有看到您的更多代码,我无法确定,但听起来您可以将请求放入 try-catch 中。

try
{
    ...
    request.Params["Username"]
    ...
}
catch (HttpRequestValidationException ex)
{
    //your error handling goes here.
}
于 2014-02-19T17:55:24.600 回答