我什么时候可以通过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。
我们可以随意提出具体问题,我们会根据确切需求进行处理。