Application_Error中设置session,但是在转向的错误页面(error.aspx)无法获取该session值?为什么?谢谢!
protected void Application_Error(Object sender, EventArgs e)
{
Session[ "test "] = "23424234 ";
}
web.config中
<customErrors mode= "On " defaultRedirect= "Error/Error.aspx " />
在Error.aspx叶面中无法获取Session[ "test "]值
谢谢!
------解决方案--------------------先后执行的问题
------解决方案--------------------应该是Session所在的asp.net 线程已被终止
------解决方案--------------------(0)在Global.asax的Application_Error添加代码
protected void Application_Error(Object sender, EventArgs e)
{
Context.ClearError();
Response.Write( "Error ");
Response.Redirect( "errorpage.htm ");
}
(1)后台代码中的WebForm1_Error
aspx页面的属性中UI.Page的Error事件中添加异常处理代码
private void WebForm1_Error(object sender, System.EventArgs e)
{
Exception ex=Server.GetLastError();
Session[ "error "]=ex.Message;
Server.ClearError();
Response.Redirect( "error.aspx ");
}
(2)在html代码中加入ErrorPage
ErrorPage= "http://www.21cn.com "
(3)在Web.config中添加异常处理的页面
(4)在IIS中设置异常处理页
------解决方案--------------------不太清楚,楼上 hdt(倦怠) 能不能说清楚点?
如果不行的话,可以做一个PageBase类,继承System.Web.UI.Page,
你的其它页面继承PageBase类。
在PageBase类的OnError()中错误处理。
这样可能会在一些时候捕捉不到异常。
------解决方案--------------------你那个是网页出错才能显示信息吧,有重新获取SESSION中的值吗?