以下内容之间有什么区别:
我应该何时决定使用哪个?
答案 0 :(得分:1)
Server.Transer()
在服务器端工作。它将使用与客户端请求不同的页面回复客户端。如果客户端刷新(F5),他将刷新原始页面。
Response.Redirect()
向客户回复它应该转到其他页面。这需要额外的往返,但客户端将知道重定向,因此F5将请求目标页面。
PostbackUrl
是告诉ASP控制点击客户端时去哪里的属性。这不需要额外的往返旅程,同时让客户知情。如果你可以使用这种方法,它通常比其他选择更好。
答案 1 :(得分:1)
Server.Transfer
告诉ASP.NET将处理重定向到同一应用程序中的另一个页面。这完全发生在服务器端。这在服务器端更加“高效”,但这种方法存在一些局限性。以下链接描述了其中一些。
Response.Redirect
实际上将HTTP 302状态代码发送回具有不同位置的响应中的客户端。然后,客户负责跟踪新位置。这里还有另一次往返。
PostBackUrl
不是“转移方法”,而是一个告诉浏览器将表单发布到哪个URL的属性。默认情况下,表单将在服务器上回发给自己。
这是一个很好的链接:http://haacked.com/archive/2004/10/06/responseredirectverseservertransfer.aspx
答案 2 :(得分:1)
Server.Transfer的:
将请求从一个页面传输到服务器上的其他页面。 例如浏览器请求/page1.aspx
请求来自第1页,您执行 Server.Transfer(“/ page2.aspx”),因此请求转移到page2并且page2返回作为响应但浏览器的地址栏仍然显示{{1}的URL }
的Response.Redirect
此语句告诉浏览器请求下一页。在这种情况下,浏览器的地址栏也会更改并显示新的网页网址
一项PostBackUrl
您可以在按钮或链接按钮上提及它。这会将表单提交到提供的页面。它类似于:
/page1.aspx