原理:
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();