Javascript を使用して、アプリケーション内のすべての未処理の例外を表示したいと考えています。このために、ページのカスタム基本クラス内で onError イベントを定義しました。ベースページのコードは次のとおりです。
namespace Loan
{
public class BasePage : System.Web.UI.Page
{
public BasePage()
{
}
protected override void OnError(EventArgs e)
{
//Report Error
Exception ex = Server.GetLastError();
if (ex is HttpUnhandledException && ex.InnerException != null)
{
ex = ex.InnerException;
}
var _message = "Error : "+ ex.Message.ToString();
DisplayAlert(_message);
Server.ClearError();
return;
}
protected virtual void DisplayAlert(string message)
{
ClientScript.RegisterStartupScript(
this.GetType(),
Guid.NewGuid().ToString(),
string.Format("alert('{0}');", message.Replace("'", @"\'")),
true
);
}
}
}
未処理の例外に対してアラートが表示されることはありません。ただし、任意のページから DisplayAlert を呼び出すと
base.DisplayAlert(ex.Message);
JavaScriptアラートが表示されます。ベースページから未処理の例外に対して表示されるJavaScriptアラートを取得するにはどうすればよいですか。または、これらの例外メッセージをユーザーに表示する他の方法はありますか? それらを前後に送信するため、それらを一般的なエラーページにリダイレクトしたくありません。