Here the scenario is I have many .aspx pages if any page gives error, it will redirect to an error page
Web.config:
<customErrors mode="On" defaultRedirect="customErrorPage.aspx">
<error statusCode="404" redirect="Error404.aspx" />
</customErrors>
If I get 404 error it will redirect to Error404.aspx works fine.
But if their any other error (forbidden, connectionlost, service unavailable etc) then I want to redirect to customErrorPage.apsx.
I want to send an email with error information (error pagename, error statusCode) when the custom error page is displayed and later after few minutes it will auto redirect user to login.aspx.
I have tried (not working)
void Application_Error(object sender, EventArgs e)
{
ex = (HttpException)Server.GetLastError();
int errorcode = ex.GetHttpCode();
// Response.Redirect("Errorpage.aspx?id='" + errorcode + "'&msg='" + message + "'");
}
My custom error page
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);
}
ALSO let me know if their is any other good way to this
Here how i solved :
Globasl.asax:
Web.config:
Customerrorpage.aspx : (Auto redirect to login page in few sec)