Próbuję utworzyć stronę z komunikatem o błędzie, aby wyświetlić wyjątek, gdy wystąpi wyjątek, a na stronie z komunikatem o błędzie znajduje się przycisk powrotu, aby wrócić do poprzedniej strony. wyjątek spowodowany.sposób postępowania z komunikatem o błędzie: Stan sesji nie jest dostępny w tym kontekście
oto kod służący do przekierowania strony błędu.
protected void btnAssign_Click(object sender, EventArgs e)
{
try
{
SqlDataSource3.Insert();
}
catch (Exception ex)
{
Session["Exception"] = ex;
Response.Redirect("~/ErrorMessage.aspx", false);
}
}
oto kod dla mojego pliku 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");
}
Oto kod na stronie 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");
}
Kiedy klikam przycisk przypisywać, to otwiera stronę errorMessage i wyświetlić wyjątek, ale gdy klikam przycisk RETURN, program rozbił się i wskazał na plik Global.asax i mówi Stan sesji nie jest dostępny w tym kontekście, jak pokazano w dmuchu.
Nie rozumiem dlaczego sesja ["wyjątek"] Null. będzie bardzo docenione, jeśli ktoś odpowie na moje pytanie. Dzięki.
dobrze, tak. to działa. Dziękuję bardzo. – mrqyue