总结一下跳转方式:

<a>标签

<a href=”home.aspx”></a>

HyperLink控件

Asp.net 服务器端控件 属性NavigateUrl指定要跳转到的Url地址,NavigateUrl是可以在服务器端使用代码修改,这个区别于<a>,由于HyperLink本身没有事件所以要在服务器端其它事件中设置NavigateUrl.

<Asp:HyperLink id=”hyperlink” runat=”server” NavigatoeUrl=”test.aspx”>ok</Asp:HyperLink>

Response.Redirect()

.发送一个Http响应到客户端
.通知客户端跳转到一个新的页面
.然后客户端再发送跳转请求到服务器端
.页面跳转之后内部控件保存的所有信息丢失
.当A跳转到B,B页面将不能访问A页面提交的数据信息
使用这个方法使用这个方法跳转后浏览器地址栏的Url信息改变,可以使用Session Cookies Application等对象进行页面间的数据传递,重定向操作发生在客户端,总共涉及到两次与Web服务器的通信:一次是对原始页面的请求,另一次是重定向新页面的请求.

JavaScript

string newuri = "<script language=javascript>history.go(-2);</script>";
Response.Write(newuri );

Server.Transfer()

实现页面跳转的同时将页面的控制权进行移交,页面跳转过程中Request Session等保存的信息不变,跳转之后可以使用上一个页面提交的数据,跳转之后浏览器地址栏的Url不变.
这种方法的重定向请求是在服务器端的进行的,浏览器不知道页面已经发生了一次跳转

Server.Execute()

该方法允许当前页面执行同一个Web服务器上的另一个页面,页面执行完毕之后重新回到原始页面发出Server.Execute()的位置。
这种方式类似针对页面的一次函数调用 被请求的页面可以使用原始页面的表单数据和查询字符串集合,被调用页面的Page指令的EnableViewStateMac属性设置为False.

为确保HTML输出的合法性 最好使用Response.Redirect;

因为Server.Execute 或者Server.Transfer方法返回给客户端的页面包含多个<Html><body>标记,不是合法的HTML页面,在非IE浏览器中可能会发生错误。
Server.Transfer在服务器端执行重定向,避免了不必要的网络通信,具有更好的性能和浏览效果。

ASP.NET页面跳转的更多相关文章

  1. 总结asp.net页面跳转

    ASP.NET页面跳转相关知识 一.<a>标签   1. <a href=”test.aspx”></a>   2. 这是最常见的一种转向方法; eg:  < ...

  2. Asp.net页面跳转Session丢失问题

    原本去年在做项目时,写好的一记篇博客分享给大家. Asp.net页面跳转Session丢失问题   编写人:CC阿爸 2014-4-2 l  近来在做泛微OA与公司自行开发的系统集成登录的问题.在使用 ...

  3. ASP.NET页面跳转的三大方法详解

    ASP.NET页面跳转有什么方法呢?,现在给大家介绍三种方法,他们的区别是什么呢?让我们开始吧: ASP.NET页面跳转1.response.redirect 这个跳转页面的方法跳转的速度不快,因为它 ...

  4. asp.net页面跳转sessionid会变

    今天发现在一个Asp.net站点中, 同一次登录, 不停刷新页面或者页面跳转, 此时后台Session的SessionID总是变化的. 创建一个页面,添加一个button,后台代码非常简单,如下   ...

  5. ASP.NET页面跳转的三种方法比较

    在ASP.NET下,经常需要在页面之间跳转,下面我们来分别介绍一下关于.NET中Response.Redirect(),Sever.Execute(),Server.Transfer() 三种页面跳转 ...

  6. asp.net 页面跳转的方法

    目前知道有4种: 1超链接 2.response.redirect("urlString") 3.server.transfer("urlString") 4. ...

  7. asp.net 页面跳转传值的几种方式

    参考地址: http://blog.csdn.net/zzzzzzzert/article/details/8486143 protected void Button1_Click(object se ...

  8. asp.net mvc && asp.net 页面跳转

    1.使用传统的Response.Redirect例如string url = "/account/create";Response.Redirect(url); 1.Server. ...

  9. asp .net 页面跳转

    ajax异步 通过ajax去请求数据,然后在js里面得到返回结果,赋值location.href <div> <input id="url" /> < ...

随机推荐

  1. vbox下安装 linux 64 bit出现“kernel requires an x86_64 cpu

        今天在vbox下安装linux 64bit出现"kernel requires an x86_64 cpu, but only detected "的错误,网上有很多文章介 ...

  2. Nullable<T> 与 T?

    Nullable<T> : 基础类型为值类型的对象,值类型的对象和引用类型的对象一样也可以分配 null.可空类型. Nullable<int> 与 int?是同样的意思. ; ...

  3. Android_CodeWiki_02

    1.使用TransitionDrawable实现渐变效果  private void setImageBitmap(ImageView imageView, Bitmap bitmap) { // U ...

  4. 前端开发面试题收集 css

    什么是CSS盒子模型 页面上的每个元素都被浏览器看做是一个矩形的盒子. 由内容.填充.边框.边界组成. 什么是 css sprite 将多个图片拼接在一个图片中,通过background-positi ...

  5. codevs 1922 骑士共存问题 网络流

    题目链接 给一个n*n的棋盘, 上面有障碍物, 有障碍物的不能放东西.然后往上面放马, 马不能互相攻击, 问最多可以放多少个马. 按x+y的奇偶来划分, 如果两个格子可以互相攻击, 就连一条权值为1的 ...

  6. Mysql 常用查询语句

    SELECT * FROM table1 ,,,,,,,,) ) SELECT * FROM table3 WHERE t3Date >= '2011-08-10' SELECT * FROM ...

  7. Mining 任务分类

    1.预测任务: 根据其它属性的值预测特定属性的值. 2.描述性任务: 发现数据之间潜在的关联关系.

  8. MYSQL 数学运算符问题

    背景: 在mysql中   ’stringA' + 'stringB' 这种类型的操作,在mysql内部会自动转化为两个double 数进行运算. -------------------------- ...

  9. CSS随记

    在CSS中,任何元素都可以浮动.浮动元素会生成一个块级框,而不论它本身是何种元素.如果浮动非替换元素,则要指定一个明确的宽度:否则,它们会尽可能地窄. 注释:float属性不具有继承特性,就是说子元素 ...

  10. Web学习

    http://book.2cto.com/201309/31936.html http://alvinalexander.com/ 查看锁表进程SQL语句1: select sess.sid,     ...