首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

关于Server.Transfer跟Response.Redirect的不同

2013-08-16 
关于Server.Transfer和Response.Redirect的不同?public partial class WebForm1 : System.Web.UI.Page{pro

关于Server.Transfer和Response.Redirect的不同?


   public partial class WebForm1 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            Server.Transfer("WebForm2.aspx?id=1");
        }
    }

   public partial class WebForm2 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            string a = Request.QueryString["id"].ToString();
        }
    }


使用Server.Transfer后,跳转到WEBFORM2,URL没改变,仍然是WEBFORM1.ASPX..并且能获取到QUERYSTRING的值

但如果使用Response.Redirect后,URL发生了改变,同时也能获取QUERYSTRING的值。。

两者到底有什么不同?仅仅只是URL的差别吗?求各位详细解释下。。
Webform URL
[解决办法]
你想想看,我们要传输一个对象(比如一个很大的DataSet)到另外一个页面去,怎么办?不用Session。这时我们就可以用Server.Transfer方法,直接在另外一个页面引用这个DataSet。
另外,你参考一下:http://msdn.microsoft.com/en-us/library/aa711564,这里面说的大概意思是Redirect要在客户端浏览器中重新定向到新的url,又多了一次请求响应的过程,用户体验不好。而Transfer是直接在服务端传递的,并不需要刷新客户端浏览器的url。

热点排行