asp.net 页面跳转三种方式

本文详细介绍了ASP.NET中三种不同的页面转向方法:Server.Transfer、Server.Execute 和 Response.Redirect 的工作原理及应用场景。Server.Transfer 和 Server.Execute 方法均在服务器端执行,不会在浏览器中留下历史记录,适合用于需要保持当前会话状态的场景;而 Response.Redirect 则会在客户端执行,导致浏览器地址栏发生变化,适用于需要完全转向新页面的情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.Server.Transfer方法:
Server.Transfer("m2.aspx");//页面转向(服务器上执行)。服务器停止解析本页,保存此页转向前的数据后,再使页面转向到m2.aspx, 并将转向前数据加上m2.aspx页结果返回给浏览器。 我感觉MVC从控制器到视图的跳转应该是利用了“Server.Transfer”这一原理。
2.Server.Execute方法:
Server.Execute("m2.aspx"); 服务器保存此页转向前的数据后,使页面转向到m2.aspx执行, 再返回本页继续执行.再将三者结果合并后返回给浏览器.
以上都是服务器端页面转向所以浏览器不出现页更改记录(显示的地址不会改变)。因此,如果用户刷新此页,也许会出现一些其它意外情况. 此类页转向,可完成一些其它功能,比如访问到前一页面中的服务端控件。
3.Response.Redirect:
当 浏览器请求aspx页面时,碰到Redirect(url)方法, 相当于告诉浏览器,你先需访问某页面,于是浏览器再向服务器发送一个到此页面的请求。重定位是通过浏览器执行的,在服务器和浏览器之间会产生额外的往返过 程。在网络状况不是很好的情况下,两次请求会大大的降低应用程序的反应速度,甚至占用多余的带宽。

总结, 在网络状态较好的情况下,Redirect(url)方法效率最高!! Server.Transfer方法和Server.Execute方法最灵活!! Server.Execute方法占用资源最多。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值