すべてのエラーを1か所で処理したい場合は、Webアプリケーションのglobal.asaxファイル(グローバルアプリケーションファイルとも呼ばれます)を使用して、アプリケーションエラーイベントを処理できます。
void Application_Error(object sender, EventArgs e)
{
Exception objErr = Server.GetLastError().GetBaseException();
string err = "Error Caught in Application_Error event\n" +
"Error in: " + Request.Url.ToString() +
"\nError Message:" + objErr.Message.ToString() +
"\nStack Trace:" + objErr.StackTrace.ToString();
System.Diagnostics.EventLog.WriteEntry("Sample_WebApp", err, System.Diagnostics.EventLogEntryType.Error);
Server.ClearError();
Response.Redirect(string.Format("{0}?exceptionMessage={1}", System.Web.VirtualPathUtility.ToAbsolute("~/ErrorPage.aspx"), objErr.Message));
}
これはにあなたの例外の技術的な詳細をログに記録します。これは、あなたがこのように、あなたには、いくつかのエラー処理コードを置くのApplication_Errorイベントで、その後、プロジェクトにグローバルアプリケーションファイルを追加Firtsようにそれは行きますシステムイベントログ(エラーを後で確認する必要がある場合) ErrorPage.aspxでは、Page_Loadイベントのクエリー文字列から例外メッセージをキャプチャします。それを表示する方法はあなた次第です(あなたは他の答えに示唆されたjavascript警告を使用するか、asp.netリテラルにテキストを単純に渡すことができます)
彼の助けを願っています。歓声
@ tvanfosson - サーバー側またはクライアント側にメッセージボックスを表示できないわけではありません。彼らはそうすることを避けるべきです。 :) – Ramesh
@Ramesh - 明らかにされました。 – tvanfosson