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传值

posted @ 2019-07-10 15:12  Mr丶Yan  阅读(3600)  评论(0编辑  收藏  举报