我什么时候可以通过PostBackURL使用Server.Transfer?

时间:2020-03-05 18:54:18  来源:igfitidea点击:

或者相反亦然。

更新:
嗯,假设我有一个购物车应用程序,用户单击"结帐"按钮。
接下来要做的就是将用户发送到Invoice.aspx页面(或者类似页面)。当用户点击结帐时,我可以`Button.PostBackURL =" Invoice.aspx"

或者我可以做

Server.Transfer("Invoice.aspx")

(我也更改了标题,因为该方法称为Transfer而不是TransferURL)

解决方案

回答

Server.Transfer完全由服务器完成。从客户端启动回发以发布表单内容,并且回发url标识要发布到的页面。

也许我们想与Response.Redirect进行比较,Response.Redirect强制客户端提交对新url的新请求。

回答

这是两者之间的一个很好的细分:

Server.Transfer与Response.Redirect

回答

  • Server.TransferURL不会导致HTTP请求/响应的往返。就浏览器所知,地址栏不会更新,因为它仅收到一个文档。 Server.Transfer还保留了执行上下文,因此脚本"保持运行",而不是"重新启动"。
  • PostbackURL确保HTTP请求,从而导致URL可能不同,并且当然会导致网络延迟。

通常,当我们尝试"在两者之间决定"时,这意味着我们最好使用PostbackURL。

我们可以随意提出具体问题,我们会根据确切需求进行处理。