我现在想自定义错误页面,即:当应用程序发生错误时,我在Application_Error过程中通过
Server.Execute("~/errorPage.aspx");来跳转到errorPage.aspx页面。
我现在遇到的情况是,如果在Application_Start中发生错误时,Server.Execute("~/errorPage.aspx");却报错:
“为 ~/errorPage.aspx 执行子请求时出错。”
如果在Application_Start过程中不报错,并且执行完成后,在其他操作中出现异常时,可以正确的跳转到errorPage.aspx。
请问什么原因啊?
是不是因为Execute执行完后还回来的原因.
你可以试下:Server.Transfer("errorPage.aspx");或Response.Redirect("errorPage.aspx");
看看吧
http://support.microsoft.com/kb/320439
http://www.xue5.com/itedu/200802/104156.html
直接在web.config中配置不是更方便.
自定义错误一般会在web.config里面配置。
还有就是1楼说的,Server.Execute() 执行完毕之后,控制权会交给调用者。
Server.Transfer() 请求一个页面,但是在地址栏看到的是调用者的页面地址。控制权不会返回。
Server.Redirect() 页面转向到新的页面。
study