页面跳转 Server.Transfer和 Response.Redirect的区别

来源:互联网 发布:mmd骑马动作数据 编辑:程序博客网 时间:2024/06/05 16:55

1.Server.Transfer

  用于把处理的控制权从一个页面转移到另一个页面,在转移的工程中没有离开服务器内部控件(如request,session等)保存的信息不变。因此你能从a页面跳转到b页面而不丢失a页面里的信息。

2.Response.Redirect

 发送一个HTTP响应到客服端浏览器,告诉客服端跳转到哪一个页面,客服端在发送跳转请求到服务器。使用此方法将无法保存内部控件的数据,页面a跳转到页面b,而页面b将无法访问a中form提交的数据。

而在具体比较如下

 Server.Transfer使用服务端方法将用户重定向到另一页,Response.Redirect将用户从浏览器重定向到另一页,

 server.Transfer的优点是将页面参数方面的传递到指定页面。服务器只是将上下文传输到另一页。你可以共享页面之间上下问的信息,不会暂用较多的http请求,可以减少客服端对服务端的请求,可以减少服务器的压力,使你的服务器运行更快,Response.Redirect需要执行额外的往返过程,这样影响性能。

 Server.TransFer跳转到页面后,浏览器显示的url地址不会变,用户浏览器就不知道在传输,因此不会更新历史记录,如果用户涮新就会产生意外的结果。

 注意Server.Transfer只能在同一服务器的同一站点访问,不能重定向到.asp或者.asmx页面只有Response.Redirect可以。

  我们在做编程的时候,网站系统内部进行跳转的时候尽量采用Server.Transfer,定向外部地址可以用Response.Redirect。

原创粉丝点击