zoukankan      html  css  js  c++  java
  • asp.net服务器端跳转页面的三种方法

        1 Response.Redirect 这个跳转页面的方法跳转速度不快,因为它要走 2 次回发 (postback)

        它可以跳转到任何页面,没有站点页面限制 ( 可以由 baidu 跳转到 google) ,但不能跳过登录保护。

    速度慢 是其最大缺陷!

    Redirect 跳转机制:首先是服务器端发送一个 http 请求到客户端,通知需要跳转到新页面,然后客户端再发送跳转请求到服务器端。需要注意的是跳转后内部空间保存的所有数据信息将会丢失,所以需要用到 session

     

         2 Server.Transfer 速度快,只需要一次 postback ,但它 必须是在同一个站点 内跳转。

    Server.Transfer 的重定向请求发生在服务器端,仅仅将此控件传递到新的网页并且不在客户端重新定位该网页,所以浏览器的 url 地址仍然是原页面的地址!另外,它 能跳过登录保护

    默认情况下, Transfer 方法不会把表单数据或查询字符串从一个页面传递到另一个页面,但是如果把该方法的第二个参数设置成 true ,就可以保留原先页面的表单数据和查询字符串。

    Server.Transfer("hyj.aspx"); // 服务器停止执行本页,保存本页的当前数据后,再使页面转向 hyj.aspx ,并将跳转之前数据加上 hyj.aspx 页面执行的结果返回给浏览器。

     

        3 Sever.Execute 这个方法主要是用在页面设计上,它 必须是在同一个站点 内跳转,也只需要一次 postback

        这个方法是需要将一个页面的输出结果插入到另一个 aspx 页面的时候使用,大部分是在表格中将某一个页面类似于嵌套的方式存在于另一页面。

    Server.Execute("hyj.aspx");// 服务器保存此页的当前数据后,使页面转向到 hyj.aspx 执行,在 hyj.aspx 执行之后又返回本页继续执行,再将三者结果合并后返回给浏览器。

    Execute 方法跳转类似于 函数调用

     

     

        如何选择页面重定向的方法:

        asp.net 中页面跳转方式 ----Redirect Transfer Execute 、超链接、 HyperLink 控件。

        当需要把用户跳转到另一台服务器上的页面的时候 ,使用 Redirect

        当需要把用户跳转到非 aspx 页面时候,如 html ,使用 Redirect

        需要把查询字符串作为 url 一部分传给服务器的时候,使用 Redirect ,因为其他两种方法不能做到 2 postback ,把数据带回服务器

        需要 aspx 页面间的转换(不涉及登录),使用 Transfer

        当需要把 aspx 页面的输出结果插入到另一个 aspx 页面的时候使用 Execute

        当需要用户来决定什么时候跳转页面,就使用超链接。

        要用程序来控制转换的目标,但转换的时机由用户决定,使用 Web 服务器的 HyperLink 控件,动态设置其 NavigateUrl 属性。

  • 相关阅读:
    基础数据类型之字符串str
    python编码基础知识
    python逻辑运算之and、or
    Django中消息中间键和form组件的运用
    Django中 cookies and session的使用
    JavaScript 正则制表符,单词边界,去空格
    paramiko堡垒机、线程及锁
    0911 Socket网络编程
    os.system和os.popen
    类高级方法、反射、异常、动态导入模块
  • 原文地址:https://www.cnblogs.com/hanwest/p/2881898.html
Copyright © 2011-2022 走看看