Response.Redirect(path)与Server.Transfer(path)的区别

//Response.Redirect(path)与Server.Transfer(path)的区别
//Server.Transfer("a.aspx")将用户请求重定向给a.aspx处理是服务器内部的接管
//浏览器是意识不到这个接管的,不会像Response.Redirect一样 通知浏览器访问
//指定url和浏览器接到命令重新访问的过程  Server.Transfer只有一次请求,服务器直接
//内部接管处理,而Response.Redirect需要2次请求

//因为是内部接管所以Server.Transfer转向的页面可以访问Response、Request、HttpCookie等这些原页面的参数
//而Response.Redirect则不行,因为Response.Redirect是一次新的请求

//Response.Redirect可以定向到外部网址,而Server.Transfer因为是内部接管定向,所以不可以专向外部网址
//Response.Redirect("http://www.baidu.com");正确,可以重定向到百度
//Server.Transfer("http://www.baidu.com");错误,因为是内部接管,直接转向,会报错

 

Response.Redirect不可以直接指向ashx页面,否则会报错“执行子请求出错”

posted @ 2013-08-12 20:53  ipangjie  阅读(263)  评论(0)    收藏  举报