在重定向到Error.aspx时保留原始URL

时间:2012-01-29 02:21:47

标签: asp.net custom-errors

有一个类似下面的问题,测试系统说答案B是正确的,但它似乎表明“你还必须确保浏览器中的原始URL没有改变”,D应该是答案吗?你可以赐教我吗?

enter image description here

2 个答案:

答案 0 :(得分:1)

答案B说是使用ResponseRewrite。在出现错误的情况下,ResponseRewrite都准备就绪并且页面已经使用它,因此不能再次使用它。例如,如果您有一个网址/super/demo.aspx,该网址会重写为 - > demo.aspx?a=2&b=1这已经做好了准备,并且页面demo.aspx已经全部准备好了(如何对程序说?现在我已经改变了我的我的,并且url重写是别的,当所有准备好了这个电话?)。

当在demo.aspx内部抛出错误时,要再次使用网址重写,您需要转到新页面,并且网址将会更改。

什么(D)可以做的是使用Page_Error,实际做的是从应用程序的所有页面捕获错误,当错误发生时,此代码从error.aspx页面读取内容并将其发送到浏览器原样 - 不更改网址,不使用重定向。

答案 1 :(得分:0)

如果global.asax有一个Page_Error事件,则答案可能是D. Page_Error是页面级事件