Response.Redirect和Server.Transfer

来源:互联网 发布:淘宝订单数据提取 编辑:程序博客网 时间:2024/06/06 07:21

原理: 

1、浏览器ASP文件请求->服务器执行->遇到response.redirect语句->服务器发送response.redirect后面的地址给客户机端的浏览器->浏览器请求执行新的地址。

2、浏览器ASP文件请求->服务器执行->遇到Server.Transfer语句->服务器转向新的文件。

区别:

切换对象:

1、Response.Redirect可以切换到任何存在的网页。

2、Server.Transfer只能切换到同目录或者子目录的网页。

数据保密:

1、Response.Redirect后地址会变成跳转后的页面地址。

2、Server.Transfer后地址不变,隐藏了新网页的地址及附带在地址后边的参数值。具有数据保密功能。

传递的数据量(网址后附带的参数):

1、Response.Redirect能够传递的数据以2KB为限。

2、传递的数据超过2KB时,务必使用Server.Transfer。

3、使用Server.Transfer时当设参数preserveForm为true,则可以在Transfer转到的页面取出值。比如:在WebForm1.aspx的button事件里传值:string url = "WebForm12.aspx?Name="+TextBox1.Text;
   Response.Redirect(url);在WebForm2.aspx页面的button事件里转向Server.Transfer("WebForm3.aspx", True), 那么 query string 和任何 form 变量都会同时传递到WebForm3.aspx页面。 即在WebForm3中可以Label1.Text = Request.QueryString["Name"].ToString();