猿问

服务器.Transfer VS.答复.重定向

服务器.Transfer VS.答复.重定向

有什么区别Server.TransferResponse.Redirect?

  • 每种方法的优点和缺点是什么?
  • 什么时候比较合适?
  • 什么时候不合适?


慕标5832272
浏览 216回答 3
3回答

婷婷同学_

Response.Redirect只需发送一条信息(Http 302)下到浏览器。Server.Transfer在浏览器不知情的情况下发生,浏览器请求一个页面,但服务器返回另一个页面的内容。

慕妹3146593

Response.Redirect()将发送到新页面,更新地址栏并将其添加到浏览器历史记录中。在浏览器上,您可以单击“上一步”。Server.Transfer()不更改地址栏。你不能反击。我用Server.Transfer()当我不想让用户看到我要去的地方时。有时在“加载”类型页上。否则我总是用Response.Redirect().

富国沪深

短:Response.Redirect简单地告诉浏览器访问另一个页面。Server.Transfer帮助减少服务器请求,保持URL不变,并通过一些bug攻击,允许您传输查询字符串和表单变量。一些我发现并同意的东西(来源):Server.Transfer类似于将用户发送到另一个具有语句的页面,如Server.Transfer("WebForm2.aspx")..然而,该声明有一些明显的优点和缺点。首先,使用Server.Transfer节省服务器资源。它没有告诉浏览器重定向,而是简单地更改Web服务器上的“焦点”并传输请求。这意味着您不会收到太多的HTTP请求,从而减轻了Web服务器的压力,使您的应用程序运行得更快。但是要小心:因为“传输”过程只能在服务器上运行的站点上工作,所以不能使用Server.Transfer若要将用户发送到外部站点,请执行以下操作。只Response.Redirect可以做到的。第二,Server.Transfer在浏览器中维护原始URL。这确实有助于简化数据输入技术,尽管在调试时可能会造成混乱。这并不是全部:Server.Transfer方法还具有第二个参数-“保存表单”。如果你把这个设置为True,使用如下语句Server.Transfer("WebForm2.aspx", True),现有查询字符串和任何表单变量仍可用于要传输到的页。例如,如果您的WebForm1.aspx有一个名为TextBox 1的TextBox控件,并且将其参数设置为True,则转移到WebForm2.aspx,则可以通过引用来检索原始页面TextBox控件的值。Request.Form("TextBox1").
随时随地看视频慕课网APP
我要回答