我有 Default.aspx 页面,它继承自 BasePage.cs,继承自 System.Web.UI.Page。BasePage 是我在每个页面加载时必须做的一些常见事情的地方。
在 BasePage 中,假设我正在检查 X。如果 X=1,那么我将立即重定向到我的“Discontinued.aspx”页面并停止执行 BasePage。如果我发现 X=1,我会说:
HttpContext.Current.Response.Redirect("Discontinued.aspx", true);
我希望重定向停止执行 BasePage 并立即跳出 - 因此上述语句中的“真” - 据我所知,这应该停止当前页面的执行。问题是,它没有。我期待重定向抛出“线程中止异常”。
当我在调试模式下运行时,它会继续单步执行,就好像它不只是重定向并离开一样。
但是重定向仍然开始 - 一旦我完成了 BasePage 的其余部分,“Discontinued”页面就会作为重定向的结果开始加载。
我的重定向不会终止 BasePage 的执行是否有原因?