4

单击按钮时,我正在使用Server.Transfer加载另一个页面的内容。这可以按预期工作,并且网址保持不变。但是,如果我尝试通过单击第二页中的按钮来加载第三页,则 URL 将更改为第二页的 URL。我希望它保留第一页的网址。

例子:

  1. Page1.aspx负载。
    • 网址:.../Page1.aspx
    • 内容:Page1.aspx
  2. Server.Transfer("~/Page2.aspx")点击按钮。
    • 网址:.../Page1.aspx
    • 内容:Page2.aspx
  3. Server.Transfer("~/Page3.aspx")点击按钮
    • 网址:.../Page2.aspx
    • 内容:Page3.aspx

为什么第三步的url变了?

4

2 回答 2

2

当您调用Server.Transfer()时,第一页的执行将停止,而在同一个 HTTP 请求中执行第二页。然后第二页 (Page2.aspx) 的执行方式与直接向其 URL 发出的任何正常请求相同,因此表单的操作设置为其自己的 URL(尽管从 调用Server.Transfer())。

如果不是这种情况,那么当提交表单时,它会发布到 Page1.aspx(如您所料),但该页面不一定包含相同的控件并且能够处理请求。

于 2013-02-26T13:56:32.987 回答
-3

这可能会有所帮助:

Response.Redirect("~/page.aspx",false)
于 2013-02-26T13:47:42.197 回答