asp.net中Response.Redirect与Server.Transfer的区别分析
更新时间:2010年10月20日 19:40:14 作者:
一般来说如果需要在两个页面间共享数据,而且数据量比较大的时候,用transfer会比较合适,在第二个页面中可以直接使用前一页面的数据。
Server.Transfer方法把执行流程从当前的ASPX文件转到同一服务器上的另一个ASPX页面。调用Server.Transfer时,当前的ASPX页面终止执行,执行流程转入另一个ASPX页面,但新的ASPX页面仍使用前一ASPX页面创建的应答流。
如果用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 ");
如果用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.ContentType类型汇总
- asp.net 页面转向 Response.Redirect, Server.Transfer, Server.Execute的区别
- asp.net 使用Response.Filter 过滤非法词汇
- ASP.NET笔记之 Request 、Response 与Server的使用
- ASP.NET之Response.Cookies.Remove 无法删除COOKIE的原因
- asp.net直接Response输出WML页面示例代码
- asp.net中WebResponse 跨域访问实例代码
- Asp.net response对象与request对象使用介绍
- Asp.net中Response.Charset与Response.ContentEncoding区别示例分析
- asp.net内置对象 Response对象使用介绍
相关文章
asp.net+jquery Gridview的多行拖放, 以及跨控件拖放
学习JQuery时,发现JQuery只能做单行拖放, 于是花时间做了一个多行拖放的例子, 以备以后使用。2009-11-11
在Asp.net下实现变长连接的web即时应用的实现范例及ReverseAjax的演示介绍
根据公司近期的一个培训整理的资料,附件包括一个完整的使用变长连接的web即时聊天室的范例和针对ReverseAjax的ppt培训文稿,其中ppt中包含了对范例程序的完整讲解2011-12-12
如何在一个.NET Core项目中使用RabbitMQ进行即时消息管理
本文提供了在.NETCore项目中使用RabbitMQ进行即时消息管理的详细操作指南,包括安装Erlang和RabbitMQ,配置RabbitMQ,以及在.NETCore项目中编写代码和调试,操作步骤详尽,感兴趣的朋友一起看看吧2024-09-09
ASP.NET MVC:Filter和Action的执行介绍
ASP.NET MVC之Filter和Action的执行介绍,需要的朋友可以参考2012-11-11


最新评论