• 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 属性。

  • 相关阅读:
    谈谈surging引擎的tcp、http、ws协议和如何容器化部署
    Surging如何使用Swagger 组件测试业务模块
    Ocelot简易教程(七)之配置文件数据库存储插件源码解析
    [转载]Ocelot简易教程(六)之重写配置文件存储方式并优化响应数据
    [转载]Ocelot简易教程(五)之集成IdentityServer认证以及授权
    [转载]Ocelot简易教程(四)之请求聚合以及服务发现
    [转载]Ocelot简易教程(三)之主要特性及路由详解
    [转载]Ocelot简易教程(二)之快速开始2
    [转载]Ocelot简易教程(二)之快速开始1
    Next Permutation
  • 原文地址:https://www.cnblogs.com/hanwest/p/2881898.html
Copyright © 2020-2023  润新知