asp.net中实现页面跳转的方式有哪些

  介绍

这篇文章给大家介绍asp.net中实现页面跳转的方式有哪些,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

<强>第一种方法:response.redirect

这个跳转页面的方法跳转的速度不快,因为它要走2个来回(2次回发),但它可以跳转到任何页面,没有站点页面限制(即可以由雅虎跳到新浪),同时不能跳过登录保护。但速度慢是其最大缺陷!重定向跳转机制:首先是发送一个http请求到客户端,通知需要跳转到新页面,然后客户端在发送跳转请求到服务器端。需要<强>注意的是跳转后内部空间保存的所有数据信息将会丢失,所以需要用到会话。

<强>代码如下,

using 系统;   using  System.Web.UI;   namespace  WebApplication1   {   ,public  partial  class  List :页面   ,{   ,protected  void  employee (object ,发送方,EventArgs  e)   ,{   ,//Get 响应。   ,var  response =, base.Response;   ,//Redirect 暂时。   ,//?不要# 39;t  throw  an  HttpException 用终止。   ,response.Redirect (“//www.jb51.net",,假);   ,}   ,}   }

<>强代码如下,

HTTP/1.1, 302年发现的   内容类型:text/html; charset=utf - 8   地点://www.jb51.net      服务器:microsoft iis/7.0   日期:,星期五,13,Aug  2010年,21:18:34 格林尼治时间   内容长度:144   & lt; html>      & lt; head>      & lt; title> Object  moved</title> & lt;/head> & lt; body>   & lt; h3> Object  moved 用& lt; a  href=https://www.yisu.com//www.jb51.net/list/index_1.htm> 。   身体      

<强>第二种方法切断。执行

这个方法主要是用在页面设计上面,而且他必须是跳转同一站点下的页面。这个方法是需要将一个页面的输出结果插入到另一个aspx页面的时候使用,大部分是在表格中,将某一个页面类似于嵌套的方式存在于另一页面。

举个例子看看:

1,创建一个web表单
2,在新建的web表单中放置一个button1,在放置两个TextBox1, TextBox2
3,为按钮按钮创建点事件

<强>代码如下

private  void  Button1_Click   (object 发送方,,System.EventArgs  e)   {   Server.Transfer (“webform2.aspx");   }

4,创建过程来返回TextBox1, TextBox2控件的值代码如下:

<强>代码如下

public  string 名字   {   得到   {   ,return  TextBox1.Text;   }   }   public  string 电子邮件   {   得到   {   ,return  TextBox2.Text;   }   }

5,新建一个目标页面命名为webform2
6,在webform2中放置两个Label1, Label2

在webform2的Page_Load中添加如下代码:

<强>代码如下

private  void  employee   (object 发送方,,System.EventArgs  e)   {//创建原始窗体的实例   WebForm1  wf1;//获得实例化的句柄   wf1=(WebForm1) Context.Handler;   Label1.Text=wf1.Name;   Label2.Text=wf1.EMail;   }

<强>第三种方法:服务器。转移

速度快,只需要一次回发,但是它必须是在同一个站点下,因为它是服务器的一个方法。另外,他能跳过登录保护。你可以写个小程序试试:设计一个由页面一到页面二的跳转,但要进入到页面二需要登录,形式认证,但如果跳转语句使用转移的话,那就不会弹出登录页面了。这个方法的重定向请求是发生在服务器端,所以浏览器的url地址仍然保留的是原页面的地址!

<>强代码如下

& lt; % @  Page 语言=癱#“, AutoEventWireup=皌rue", CodeFile=癢ebForm1.aspx.cs",继承=癢ebForm1", %比;   & lt; ! DOCTYPE  html  PUBLIC “-//W3C//DTD  XHTML  1.0,过渡//EN",“http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"比;   & lt; html  xmlns=癶ttp://www.w3.org/1999/xhtml"比;   & lt; head  runat=皊erver"祝辞   ,& lt; title> & lt;/title>   & lt;/head>   & lt; body>   ,& lt; form  id=癴orm1", runat=皊erver"比;   ,& lt; div>   ,& lt; asp: TextBox  ID=癟extBox1", runat=皊erver"祝辞& lt;/asp: TextBox> & lt; br /比;   ,   ,& lt; asp: Button  ID=癇utton1", runat=皊erver",文本=癇utton", onclick=癇utton1_Click",/比;   ,& lt;/div>   ,& lt;/form>   & lt;/body>   & lt;/html>   net代码   using 系统;   using  System.Collections.Generic;   using 来;   using 包含;   using  System.Web.UI;   using  System.Web.UI.WebControls;   public  partial  class  WebForm1 : System.Web.UI.Page   {   public  string 时间   ,{   {,get  return  DateTime.Now.ToString ();,}   ,}   ,public  string  TestFun ()   ,{   ,return “Function  of  WebForm1  Called";   ,}   ,protected  void  employee (object ,发送方,EventArgs  e)   ,{   ,Context.Items.Add (“Context",,“Context 得到Form1");   ,}   ,protected  void  Button1_Click (object ,发送方,EventArgs  e)   ,{   ,//this.TextBox2.Text =Request  [“TextBox1"] .ToString  ();   ,Server.Transfer (“WebForm2.aspx",,真的);//第二个参数为假时,WebForm2.aspx中不能获得TextBox1的内容   ,,   ,}   }

asp.net中实现页面跳转的方式有哪些