我試圖重寫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火災所以能夠在webform上顯示'正常'錯誤消息。
我敢肯定有一個很好的方法來做到這一點,但我不知道它!建議?
(BTW各種原因,我不希望檢查在任一形式或應用程序級別關閉,我也不希望依賴於JavaScript - 感謝)