zoukankan      html  css  js  c++  java
  • Asp.net中Server.Transfer,Server.Execute和Response.Redirect的区别

    Asp.netServer.Transfer,Server.ExecuteResponse.Redirect的区别 

    Asp.net 中常常需要进入页面跳转,一般用到的方法有Server.Transfer,Server.ExecuteResponse.Redirect,下面讲解一下三种方法各自不同的用法。

    (1)Server.Transfer方法:

    Server.Transfer("m2.aspx");//页面转向(服务器上执行).

    服务器停止解析本页,保存此页转向前的数据后,再使页面转向到m2.aspx,

    并将转向前数据加上m2.aspx页结果返回给浏览器,注意的是浏览器的地址没发生变化

    还是m1.aspx

     

    (2)Server.Execute方法:

    Server.Execute("m2.aspx");

    服务器保存此页转向前的数据后,使页面转向到m2.aspx执行,

    再返回本页继续执行.再将三者结果合并后返回给浏览器.

    以上都是服务器端页面转向所以浏览器不出现页更改记录(显示的地址不会改变).

    因此,如果用户刷新此页,也许会出现一些其它意外情况.

    此类页转向,可完成一些其它功能,比如访问到前一页面中的服务端控件.

     

    (3)Response.Redirect:

    当浏览器请求aspx页面时,碰到Redirect(url)方法,

    相当于告诉浏览器,你先需访问某页面,于是浏览器再向服务器发送一个到此页面的请求.

    重定位是通过浏览器执行的,在服务器和浏览器之间会产生额外的往返过程。

    在网络状况不是很好的情况下,两次请求会大大的

    降低应用程序的反应速度,甚至占用多余的带宽转换完后浏览器地址将改变,显示为asp2.aspx

     

    总结:

    在网络状态较好的情况下,Redirect(url)方法效率最高!!

    Server.Transfer方法和Server.Execute方法最灵活!!

    Server.Execute方法占用资源最多.

    Server.TransferServer.Execute的区别是,Execute执行的结果不会返回给当前用户。

    ·如果要让用户来决定何时转换页面以及转到哪一个页面,超级链接最适合。 
       
      ·如果要用程序来控制转换的目标,但转换的时机由用户决定,使用Web衿鞯腍yperLink控件,动态设置其NavigateUrl属性。 
       
      ·如果要把用户连接到另一台服务器上的资源,使用Response.Redirect。 
       
      ·Response.Redirect把用户连接到非ASPX的资源,例如HTML页面。 
       
      ·如果要将查询字符串作为URL的一部分保留,使用Response.Redirect。 
       
      ·如果要将执行流程转入同一Web服务器的另一个ASPX页面,应当使用Server.Transfer而不是Response.Redirect,因为Server.Transfer能够避免不必要的网络通信,从而获得更好的性能和浏览效果。 
       
      ·如果要捕获一个ASPX页面的输出结果,然后将结果插入另一个ASPX页面的特定位置,则使用Server.Execute。 
       
      ·如果要确保HTML输出合法,请使用Response.Redirect,不要使用Server.TransferServer.Execute方法。

     

  • 相关阅读:
    sabaki and leelazero
    apply current folder view to all folders
    string operation in powershell
    wirte function in powershell
    add environment path to powershell
    Module in powershell
    sql prompt
    vmware中鼠标在部分区域不能使用
    调整多个控件的dock的顺序
    行为型模型 策略模式
  • 原文地址:https://www.cnblogs.com/longle/p/2072877.html
Copyright © 2011-2022 走看看