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