我正在尝试创建一个错误消息页面以在发生异常时显示异常,并且错误消息页面上有一个返回按钮可以返回导致异常的上一页。
这是用于重定向错误页面的代码。
protected void btnAssign_Click(object sender, EventArgs e)
{
try
{
SqlDataSource3.Insert();
}
catch (Exception ex)
{
Session["Exception"] = ex;
Response.Redirect("~/ErrorMessage.aspx", false);
}
}
这是我的 global.asax 文件的代码
void Application_Error(object sender, EventArgs e)
{
// Code that runs when an unhandled error occurs
Exception ex = Server.GetLastError().InnerException;
Session["Exception"] = ex;
Response.Redirect("~/ErrorMessage.aspx");
}
这是errorMessage页面的代码。
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Exception ex = (Exception)Session["Exception"];
Session.Remove("Exception");
Literal1.Text = "<p style='color:blue'><b>An unrecoverable error has occurred:</b></p><br /><p style='color:red'>" + ex.Message + "</p>";
}
}
protected void btnReturn_Click(object sender, EventArgs e)
{
Response.Redirect("~/IncidentAssignment.aspx");
}
当我单击分配按钮时,它会打开 errorMessage 页面并显示异常,但是当我单击返回按钮时,程序崩溃并指向 global.asax 文件并说会话状态在此上下文中不可用,如 blew 所示。
我不明白为什么 session["exception"] 为空。如果有人回答我的问题,将不胜感激。谢谢。