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