asp.net response.redirect和server.transfer的区别

来源:互联网 发布:js 引用类型 编辑:程序博客网 时间:2024/05/16 18:01


1.response.redirect()跳转到新的页面后,地址栏的URL会发生改变,而server.transfer()跳转后URL不发生改变。原因    是:redirect()发送两次HTTP请求,第一次响应的结果是状态码302(302表示需要重定向,配合响应报文中的          location使用),第二次请求才会得到相应的页面。这种URL重定向是由客户端产生的,在地址栏中可以看到变              化。transfer()发送一次请求,URL重定向是发生在服务器端的,有服务器内部进行URL接管,客户端察觉不到这        种变化。


2.transfer()跳转后,在新的页面可以获取原来页面的变量值,transfer()的第二个参数设置为false时就不能获取到q  uerystring和form。redirect()跳转后就获取不到之前页面的变量值,除非是以参数的方式传递到新的页面。


3.transfer()只能在同一服务器中跳转页面,而不能跨服务器,对于跨服务器只能用redirect(),比如:从自己的网    站跳转到百度就只能用redirect。

0 0
原创粉丝点击