Response.Redirect和Server.Transfer的区别
原理:
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。
使用Server.Transfer,由上面的一些优势以外,最主要的在于它可以把一个页面的方法,属性,变量等传到另一个要跳转的页面,使其能很轻松的用到这些方法,属性,变量等!
他的原理并不是页面的跳转,而是页面内容的替换!假如,从A页面跳转到B页面,使用Server.Transfer的话,其实地址还是A页面的地址,变的只是页面的内容而已!
按照这个原理,我做一个测试,发现有点不太对!我从A跳转到B,这时候,地址是A的地址,页面内容是B的内容,这是,我在从B跳转到A,按照原理,应该是地址还是A,页面内容变成A页面内容的,可实际并不是那样,而是地址变成了B的地址!想了很多方法,还是没能解释!有谁能给我解答呢!
使用Server.Transfer,由上面的一些优势以外,最主要的在于它可以把一个页面的方法,属性,变量等传到另一个要跳转的页面,使其能很轻松的用到这些方法,属性,变量等!
他的原理并不是页面的跳转,而是页面内容的替换!假如,从A页面跳转到B页面,使用Server.Transfer的话,其实地址还是A页面的地址,变的只是页面的内容而已!
按照这个原理,我做一个测试,发现有点不太对!我从A跳转到B,这时候,地址是A的地址,页面内容是B的内容,这是,我在从B跳转到A,按照原理,应该是地址还是A,页面内容变成A页面内容的,可实际并不是那样,而是地址变成了B的地址!想了很多方法,还是没能解释!有谁能给我解答呢!