Response.redirect 和Server.Transfer 的区别

时间:2015/12/3 17:18:00来源:互联网 作者:flyso 点击: 718 次

response.redirect 和Server.Transfer 都有跳转页面的功能。那他们的区别到底是什么呢。

1.response.redirect  

  Response.Redirect则是客户端第一次请求服务器返回状态代码302及新URL,客户端再次请求新URL,服务器再返回新页面,比Server.Transfer多一次应答。在这里可以查看到新的页面请求方式是 "GET"方式(RequestType ="GET"),所以可以用Request.QueryString的方式传值,但用Request.Form[""]是不能的。



2.Server.Transfer

  Server.Transfer方法把执行流程从当前的ASPX文件转到同一服务器上的另一个ASPX页面。调用Server.Transfer时,当前的ASPX页面终止执行,执行流程转入另一个ASPX页面,但新的ASPX页面仍使用前一ASPX页面创建的应答流。 如果用Server.Transfer方法实现页面之间的导航,浏览器中的URL不会改变,因为重定向完全在服务器端进行,浏览器根本不知道服务器已经执行了一次页面变换。因为是前一页面的应答流,页面请求方式是 "POST"方式..所以Request.Form[""]里面是会有值,因此可以用这可方法传递值。html控件的值要转成runat="server"才能获得。

Copyright © 2005 - 2016 flyso.cn. 飞搜 版权所有 鄂ICP备11002783号-3