c#页面重定向,Server.Transfer 和 Response.Redirect

Server.Transfer()

重定向发生在服务器端,把处理的控制权从当前页面转移到另一个页面,在转移的工程中没有离开服务器内部控件(如request,session等)保存的信息不变。

 

1.只能在同一服务器的同一站点访问

2.执行Server.Transfer()之后,浏览器地址栏不会发生改变,仍是访问是的url,不是Server.Transfer()的url(重定向完全在服务器端进行,所以url不会发生改变)

3.执行Server.Transfer()之后仍会走完整个方法体.(Server.Transfer方法把执行流程从当前的ASPX文件转到同一服务器上的另一个ASPX页面。调用Server.Transfer时,当前的ASPX页面终止执行,

执行流程转入另一个ASPX页面,但新的ASPX页面仍使用前一ASPX页面创建的应答流.)

4.在服务器端重定向,没有新增http请求,所以在性能上比 Response.Redirect()要好.

5.Server.Transfer方法不会把表单数据或查询字符串从一个页面传递到另一个页面,但只要把该方法的第二个参数设置成True,就可以保留第一个页面的表单数据和查询字符串

 

 

 Response.Redirect()

重定向发生在客户端,发送一个HTTP响应到客服端浏览器,客服端在发送跳转请求到服务器。

 

1.可访问本地址,也可以重定向到服务器以外的站点

2.执行 Response.Redirect()之后,浏览器地址栏发生改变,显示的是Response.Redirect中的url

3.执行Response.Redirect()之后直接结束该方法,跳转至目标页面.()

4.执行了http请求,增加了服务器的负担.

5.只能通过url传值

转载于:https://www.cnblogs.com/yan0720/p/11164094.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值