ここでのシナリオは.aspx pages
、いずれかのページでエラーが発生した場合、エラーページにリダイレクトされる場合が多くあります
Web.config
:
<customErrors mode="On" defaultRedirect="customErrorPage.aspx">
<error statusCode="404" redirect="Error404.aspx" />
</customErrors>
404 エラーが発生した場合は、正常にError404.aspx
動作するようにリダイレクトされます。
しかし、他のエラー(禁止、接続が失われた、サービスが利用できないなど) がある場合は、にリダイレクトしたいと思いcustomErrorPage.apsx
ます。
カスタム エラー ページが表示されたときにエラー情報 (エラー ページ名、エラー statusCode) を記載したメールを送信したいと考えていますlogin.aspx
。
私は試しました(動作しません)
void Application_Error(object sender, EventArgs e)
{
ex = (HttpException)Server.GetLastError();
int errorcode = ex.GetHttpCode();
// Response.Redirect("Errorpage.aspx?id='" + errorcode + "'&msg='" + message + "'");
}
カスタム エラー ページ
protected void Page_Load(object sender, EventArgs e)
{
getUrl = HttpContext.Current.Request.Url.ToString();
// string error= HttpContext.Current.Error.ToString();
// HtmlMeta meta = new HtmlMeta();
// HtmlHead head = (HtmlHead)Page.Header;
// meta.HttpEquiv = "refresh";
// meta.Content = "10; url=Login.aspx";
// head.Controls.Add(meta);
}
protected void Page_UnLoad(object sender, EventArgs e)
{
//send mail function
Email.Send("abc@asa.com", "Error Log", "custom error", true);
}
また、これに対する他の良い方法があるかどうか教えてください