【发布时间】:2009-02-02 03:28:44
【问题描述】:
我正在尝试覆盖 Web 表单的 onError 事件处理程序,以允许在表单中处理“从客户端检测到潜在危险的 Request.Form 值”类型错误,而不是在应用程序级别错误结束处理程序。
我发现了一些这样的示例代码:
protected override void OnError(EventArgs e)
{
// At this point we have information about the error
HttpContext ctx = HttpContext.Current;
Exception exception = ctx.Server.GetLastError();
string errorInfo =
"<br>Offending URL: " + ctx.Request.Url.ToString() +
"<br>Source: " + exception.Source +
"<br>Message: " + exception.Message +
"<br>Stack trace: " + exception.StackTrace;
ctx.Response.Write(errorInfo);
// --------------------------------------------------
// To let the page finish running we clear the error
// --------------------------------------------------
ctx.Server.ClearError();
base.OnError(e);
}
这令人满意地捕获了错误并将错误消息写入屏幕,但我真正想做的是在 Page_Load 触发时注意错误,以便能够在网络表单上显示“正常”错误消息。
我确信有一个好方法可以做到这一点,但我不知道!建议?
(顺便说一句,出于各种原因,我不想在表单或应用程序级别关闭检查,我也不希望依赖 Javascript - 谢谢)
【问题讨论】:
标签: asp.net validation events