HttpRequestValidationException - 如何输入完整值?

时间:2013-06-27 13:49:14

标签: asp.net validation exception

我们在网站上收到多个HttpRequestValidationExceptions。我们适当地捕获了这些,但是想要更详细地开始记录它们。捕获的消息显示

"A potentially dangerous Request.Form value was detected from the client (ctl00$txtSearch=\"<a href=\"www.google.com...\")."}   

我们想知道文本框中输入内容的全文,除了记录之外什么都不做。我知道我进入了

<a href="www.google.com">www.google.com</a>

但正如您所看到的,它并未在异常的Message部分中显示所有内容。 InnerException为null,因此没有帮助。

这是我们使用的代码:

void Application_Error(object sender, EventArgs e)
{
    // Get the last exception that has occurred
    if (Server.GetLastError() != null)
    {
        var ex = Server.GetLastError().GetBaseException();
        //...log it here
    }
}

我们如何才能在文本框中输入全文?关闭页面验证不是一个选项。提前谢谢!

1 个答案:

答案 0 :(得分:0)

enter image description here

在捕获最后一个异常后使用Request.Form [“key name”]。

var val = Request.Form [“txtInput1”];

您也可以使用

foreach (string key in Request.Form.AllKeys)
{
        //Log everything.
         var x = Request.Form[key];
}

上面我将tbSource作为文本框并捕获Application_Error上的值