asp.net中Response.Redirect与Server.Transfer的区别分析
2010-10-20 00:00
741 查看
Server.Transfer方法把执行流程从当前的ASPX文件转到同一服务器上的另一个ASPX页面。调用Server.Transfer时,当前的ASPX页面终止执行,执行流程转入另一个ASPX页面,但新的ASPX页面仍使用前一ASPX页面创建的应答流。
如果用Server.Transfer方法实现页面之间的导航,浏览器中的URL不会改变,因为重定向完全在服务器端进行,浏览器根本不知道服务器已经执行了一次页面变换。
Response.Redirect则是客户端第一次请求服务器返回状态代码302及新URL,客户端再次请求新URL,服务器再返回新页面,比Server.Transfer多一次应答。
一般来说如果需要在两个页面间共享数据,而且数据量比较大的时候,用transfer会比较合适,在第二个页面中可以直接使用前一页面的数据,
eg:
TransferToPage.aspx
直接引用前一页面控件的值。
Redirect可以传递一些较小字符串值。
Response.Redirect( "b.aspx?id=0&name=Jeff ");
如果用Server.Transfer方法实现页面之间的导航,浏览器中的URL不会改变,因为重定向完全在服务器端进行,浏览器根本不知道服务器已经执行了一次页面变换。
Response.Redirect则是客户端第一次请求服务器返回状态代码302及新URL,客户端再次请求新URL,服务器再返回新页面,比Server.Transfer多一次应答。
一般来说如果需要在两个页面间共享数据,而且数据量比较大的时候,用transfer会比较合适,在第二个页面中可以直接使用前一页面的数据,
eg:
TransferToPage.aspx
if(Context.Handler is TransferFromPage) { TransferFromPage post=(TransferFromPage)Context.Handler; startWeekID=Int32.Parse(post.DdlStartWeek.SelectedValue); endWeekID=Int32.Parse(post.DdlEndWeek.SelectedValue); }
直接引用前一页面控件的值。
Redirect可以传递一些较小字符串值。
Response.Redirect( "b.aspx?id=0&name=Jeff ");
相关文章推荐
- asp.net中Response.Redirect与Server.Transfer的区别分析
- asp.net 页面转向 Response.Redirect, Server.Transfer, Server.Execute的区别
- asp.net response.redirect和Server.Transfer区别
- asp.net response.redirect和Server.Transfer区别
- ASP.NET:Server.Transfer和Response Redirect 区别
- asp.net中 Server.Execute() Server.transfer()与Response.Redirect()的区别
- Asp.net中Server.Transfer,Server.Execute和Response.Redirect的区别
- asp.net 页面转向 Response.Redirect, Server.Transfer, Server.Execute的区别
- 一起谈.NET技术,asp.net 页面转向 Response.Redirect, Server.Transfer, Server.Execute的区别
- asp.net response.redirect和Server.Transfer区别
- Asp.net中Server.Transfer,Server.Execute和Response.Redirect的区别
- asp.net response.redirect和server.transfer的区别
- C# asp.net 页面转向 Response.Redirect, Server.Transfer, Server.Execute的区别
- Asp.Net中Response.Redirect、Server.Transfer、PostBackUrl以及超链接引导页面的区别
- asp.net 页面转向 Response.Redirect, Server.Transfer, Server.Execute的区别
- asp.net response.redirect和Server.Transfer区别
- asp.net 页面转向 Response.Redirect, Server.Transfer, Server.Execute的区别
- asp.net Response.Redirect和Server.Transfer(Execute)的区别
- asp.net 页面转向 Response.Redirect, Server.Transfer, Server.Execute的区别
- asp.net response.redirect和Server.Transfer区别