Asp.net 即使在重定向之后,页面加载仍在发生

Asp.net 即使在重定向之后,页面加载仍在发生,asp.net,redirect,Asp.net,Redirect,在访问其他页面之前,我限制对某些页面的访问。访问A页。如果A页上的某些进程未完成,当您尝试转到B页时,您将被重定向回A页。重定向工作正常,但即使发生重定向,OnLoad仍会在B页上运行。我尝试将重定向放在PageB的OnInit中,但PageB.OnLoad仍然运行。如何防止OnLoad运行?您可以调用Response.Redirect的函数。传递true告诉它在重定向后不要继续执行当前方法 然而,你会在页面上看到一条提示,建议你不要这样做,除非你必须这样做。你需要判断他们在你的特定应用程序中所

在访问其他页面之前,我限制对某些页面的访问。访问A页。如果A页上的某些进程未完成,当您尝试转到B页时,您将被重定向回A页。重定向工作正常,但即使发生重定向,OnLoad仍会在B页上运行。我尝试将重定向放在PageB的OnInit中,但PageB.OnLoad仍然运行。如何防止OnLoad运行?

您可以调用Response.Redirect的函数。传递true告诉它在重定向后不要继续执行当前方法

然而,你会在页面上看到一条提示,建议你不要这样做,除非你必须这样做。你需要判断他们在你的特定应用程序中所说的话的重要性

作为另一种选择,考虑在加载事件处理程序中添加条件代码块:

if (isIncompletedPageA)
{
  Response.Redirect(urlToPageB)
}
else
{
  //normal page load code
}

我对答案投了赞成票,因为它在概念上是正确的,我没有具体说明我将在问题中说什么,但为了进一步澄清:

我使用的RedirectToRoute至少在.Net 4中没有该可选参数,因此我必须执行以下操作:

Response.RedirectToRoute("myRouteName");
Response.End();

是的,我最终选择了这样的东西。