1

以下有什么区别:

  1. Server.transfer?
  2. 响应。重定向?
  3. 回传网址?

我应该什么时候决定使用哪个?

4

3 回答 3

1

Server.Transer()在服务器端工作。它将使用与客户端请求不同的页面回复客户端。如果客户端刷新(F5),他将刷新原始页面。

Response.Redirect()回复客户它应该转到不同的页面。这需要额外的往返,但客户端会知道重定向,因此 F5 将请求目标页面。

PostbackUrl是一个属性,告诉 ASP 控件在客户端上单击时要去哪里。这不需要额外的往返行程,同时让客户了解情况。如果您可以使用此方法,则通常比其他选择更可取。

于 2011-08-06T15:08:17.273 回答
1

Server.Transfer告诉 ASP.NET 将处理重定向到同一应用程序中的另一个页面。这完全发生在服务器端。这更“有效”,因为它发生在服务器端,但这种方法有一些限制。下面的链接描述了其中的一些。

Response.Redirect实际上将 HTTP 302 状态代码以不同位置的响应发送回客户端。然后,客户负责跟踪新位置。这里又发生了一次往返。

PostBackUrl不是“传输方法”,而是告诉浏览器将表单发布到哪个 URL 的属性。默认情况下,表单将在服务器上回发给自己。

这是一个很好的链接:http ://haacked.com/archive/2004/10/06/responseredirectverseservertransfer.aspx

于 2011-08-06T15:10:03.493 回答
1
  1. 服务器。传输:

    将请求从一个页面转移到服务器上的另一个页面。例如 /page1.aspx 的浏览器请求

    请求出现在您执行Server.Transfer("/page2.aspx")的 page1 上,因此请求传输到 page2 并且 page2 作为响应返回,但浏览器的地址栏仍然显示 URL/page1.aspx

  2. 响应.重定向

    该语句告诉浏览器请求下一页。在这种情况下,浏览器的地址栏也会改变并显示新的页面 URL

  3. PostBackUrl

    您可以在按钮或链接按钮上提及它。这会将表单提交到提供的页面。它类似于:

    <form method="post" action="/page2.aspx">
    
于 2011-08-06T15:17:59.013 回答