【发布时间】:2012-01-29 02:21:46
【问题描述】:
有一个类似下面的问题,测试系统说答案 B 是正确的,但似乎它指出“您还必须确保浏览器中的原始 URL 没有更改”,D 应该是答案吗?可以请教一下吗?
【问题讨论】:
-
根据您的选择,只有 D 可以工作。你真正的问题是什么?
标签: asp.net custom-errors
有一个类似下面的问题,测试系统说答案 B 是正确的,但似乎它指出“您还必须确保浏览器中的原始 URL 没有更改”,D 应该是答案吗?可以请教一下吗?
【问题讨论】:
标签: asp.net custom-errors
答案 B 说是使用 ResponseRewrite。在出错的情况下 ResponseRewrite all ready has pass 并且页面已经使用它,所以不能再次使用它。例如,如果你有一个页面 /super/demo.aspx 的 url 重写为 -> demo.aspx?a=2&b=1 这一切都准备好了,并且页面 demo.aspx 已经准备好了(如何对程序说?现在我已经改变了我的,而 url 重写是另一回事,当一切准备就绪时进行此调用?)。
当demo.aspx里面抛出一个错误,要再次使用url重写你需要去新页面,并且url会改变。
(D)可以做的是使用Page_Error,实际做的是从应用程序上的所有页面中捕获错误,并且当此代码从error.aspx页面读取内容并将其发送到错误时浏览器原样 - 无需更改 url,无需进行重定向。
【讨论】:
如果 global.asax 有 Page_Error 事件,答案可能是 D。 Page_Error 是页面级事件
【讨论】: