用 Server.Transfer("View.aspx") 转向后,为什么IE的 URL栏地址确不改变?

解决方案 »

  1.   

    Server.Transfer的作用正在于此
    要想变的话用Response.Redirect
      

  2.   

    Server.Transfer方法把执行流程从当前的ASPX文件转到同一服务器上的另一个ASPX页面。调用Server.Transfer时,当前的ASPX页面终止执行,执行流程转入另一个ASPX页面,但新的ASPX页面仍使用前一ASPX页面创建的应答流。    如果用Server.Transfer方法实现页面之间的导航,浏览器中的URL不会改变,因为重定向完全在服务器端进行,浏览器根本不知道服务器已经执行了一次页面变换。
      

  3.   

    明白,这个东西用来做什么呢?
    ---------------------
    正如penning(飞鱼) 所说,Server.Transfer时,当前的ASPX页面终止执行,执行流程转入另一个ASPX页面,但新的ASPX页面仍使用前一ASPX页面创建的应答流。那么可以用它在页面间传参
    例如我在a.aspx定义属性  public DataTable myDT{get{return 省略;}}
    那么Server.Transfer后在b.aspx可以访问
    if(Context.Handler.ToString()=="ASP.a_aspx")
    {
    a webForm =(a)Context.Handler;
    DataTable thisDT = a.myDT;
    }