我限制访问某些页面,直到访问过其他页面。访问页面A.如果页面A上的某个进程未完成,当您尝试转到页面B时,您将被重定向回到页面A.重定向有效,但即使重定向发生,OnLoad仍会在页面B上运行。我尝试将重定向放在页面B的OnInit中,但是PageB.OnLoad仍然可以运行。如何阻止OnLoad运行?
答案 0 :(得分:0)
您可以拨打Response.Redirect
的{{3}}。传递true
告诉它在重定向后不要继续执行当前方法。
但是,您会在该页面上看到一条说明,建议您不要这样做,除非必须这样做。您需要判断他们在您的特定应用中所说内容的重要性。
作为替代方案,请考虑在加载事件处理程序中添加条件代码块:
if (isIncompletedPageA)
{
Response.Redirect(urlToPageB)
}
else
{
//normal page load code
}
答案 1 :(得分:0)
我赞成答案,因为它在概念上是正确的,我没有说明我将在问题中说些什么,但为了进一步澄清:
我使用的RedirectToRoute没有可选参数(至少在.Net 4中),所以我必须这样做:
Response.RedirectToRoute("myRouteName");
Response.End();