Webforms Response.Redirect()路由和页面

时间:2017-07-18 03:15:21

标签: c# asp.net redirect webforms

  • Webforms ASP.NET 4.61

我有以下路线配置:

aRoutes.MapPageRoute("routePageA", "page/a", "~/Pages/A.aspx");
aRoutes.MapPageRoute("routePageB", "page/b", "~/Pages/B.aspx");

我在A.aspx的点击处理程序中有代码重定向到B.aspx但是我得到的行为如下:

  1. 在没有结束请求的情况下重定向到路线时:

    的Response.Redirect( “/页/ B”);

  2. 发起的事件是:

    • A.aspx Page_Load()< - 为什么?我已经在PostBack。
    • B.aspx Page_Load()

      1. 重定向到路线时没有结束请求:
      2. Response.Redirect(“/ page / b,true”);

    发起的事件是:

    • A.aspx Page_Load()< - 为什么?我已经在PostBack。
    • B.aspx Page_Load()

      1. 直接重定向到aspx时:
      2. 的Response.Redirect( “/页/ B.aspx”);

    发起的事件是:

    • B.aspx Page_Load()

    我期待的行为是3.但是为什么当ASPX是重定向目标时,这只会以这种方式运行。有人可以向我解释为什么指导路线会产生不同的行为吗?

1 个答案:

答案 0 :(得分:0)

您可以使用RedirectToRoute而不是Response.Redirect()。试试这个。

return RedirectToRoute("routePageB");