国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

三種asp.net頁面跳轉的方法

2024-07-10 13:29:36
字體:
來源:轉載
供稿:網友

跳轉頁面是大部編輯語言中都會有的,下面我們來分別介紹一下關于.net中response.redirect sever.execute server.transfer三種頁面跳轉的方法,,需要的朋友可以參考下

第一種方法:response.redirect

注意的

這個跳轉頁面的方法跳轉的速度不快,因為它要走2個來回(2次postback),但它可以跳轉到任何頁面,沒有站點頁面限制(即可以由雅虎跳到新浪),同時不能跳過登錄保護。但速度慢是其最大缺陷!redirect跳轉機制:首先是發送一個http請求到客戶端,通知需要跳轉到新頁面,然后客戶端在發送跳轉請求到服務器端。需要是跳轉后內部空間保存的所有數據信息將會丟失,所以需要用到session。

代碼如下

 

 
  1. using System; 
  2. using System.Web.UI; 
  3. namespace WebApplication1 
  4. public partial class List : Page 
  5. protected void Page_Load(object sender, EventArgs e) 
  6. // Get response. 
  7. var response = base.Response; 
  8. // Redirect temporarily. 
  9. // ... Don't throw an HttpException to terminate. 
  10. response.Redirect("http://m.survivalescaperooms.com"false); 

代碼如下

 

 
  1. HTTP/1.1 302 Found 
  2. Content-Type: text/html; charset=utf-8 
  3. Location: http://m.survivalescaperooms.com 
  4.  
  5. Server: Microsoft-IIS/7.0 
  6. Date: Fri, 13 Aug 2010 21:18:34 GMT 
  7. Content-Length: 144 
  8. <html> 
  9.  
  10. <head> 
  11.  
  12. <title>Object moved</title></head><body> 
  13. <h2>Object moved to <a href=http://m.survivalescaperooms.com/php/>here</a>.</h2> 
  14. </body> 
  15.  
  16. </html> 

第二種方法sever.execute

這個方法主要是用在頁面設計上面,而且他必須是跳轉同一站點下的頁面。這個方法是需要將一個頁面的輸出結果插入到另一個aspx頁面的時候使用,大部分是在表格中,將某一個頁面類似于嵌套的方式存在于另一頁面。

舉個例子看看:

1、創建一個web form

2、在新建的web form中放置一個button1,在放置兩個TextBox1,TextBox2

3、為button按鈕創建click事件

代碼如下

 

 
  1. private void Button1_Click 
  2. (object sender, System.EventArgs e) 
  3. Server.Transfer("webform2.aspx"); 

4、創建過程來返回TextBox1,TextBox2控件的值代碼如下:

代碼如下

 

 
  1. public string Name 
  2. get 
  3. return TextBox1.Text; 
  4. public string EMail 
  5. get 
  6. return TextBox2.Text; 

5、新建一個目標頁面命名為webform2

6、在webform2中放置兩個Label1,Label2

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

代碼如下

 

 
  1. private void Page_Load 
  2. (object sender, System.EventArgs e) 
  3. //創建原始窗體的實例 
  4. WebForm1 wf1; 
  5. //獲得實例化的句柄 
  6. wf1=(WebForm1)Context.Handler; 
  7. Label1.Text=wf1.Name; 
  8. Label2.Text=wf1.EMail; 

第三種方法:server.transfer

速度快,只需要一次postback ,但是它必須是在同一個站點下,因為它是server的一個方法。另外,他能跳過登錄保護。你可以寫個小程序試試:設計一個由頁面一到頁面二的跳轉,但要進入到頁面二需要登錄,form認證,但如果跳轉語句使用transfer的話,那就不會彈出登錄頁面了。這個方法的重定向請求是發生在服務器端,所以瀏覽器的url地址仍然保留的是原頁面的地址!

代碼如下

 

 
  1. <%@ Page Language="C#" AutoEventWireup="true" CodeFile="WebForm1.aspx.cs" Inherits="WebForm1" %> 
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
  3. <html xmlns="http://www.w3.org/1999/xhtml"
  4. <head runat="server"
  5. <title></title> 
  6. </head> 
  7. <body> 
  8. <form id="form1" runat="server"
  9. <div> 
  10. <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox><br /> 
  11.  
  12. <asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" /> 
  13. </div> 
  14. </form> 
  15. </body> 
  16. </html> 
  17. .net代碼 
  18. using System; 
  19. using System.Collections.Generic; 
  20. using System.Linq; 
  21. using System.Web; 
  22. using System.Web.UI; 
  23. using System.Web.UI.WebControls; 
  24. public partial class WebForm1 : System.Web.UI.Page 
  25. public string Time 
  26. get { return DateTime.Now.ToString(); } 
  27. public string TestFun() 
  28. return "Function of WebForm1 Called"
  29. protected void Page_Load(object sender, EventArgs e) 
  30. Context.Items.Add("Context""Context from Form1"); 
  31. protected void Button1_Click(object sender, EventArgs e) 
  32. //this.TextBox2.Text =Request ["TextBox1"].ToString (); 
  33. Server.Transfer("WebForm2.aspx"true);//第二個參數為false時,WebForm2.aspx中不能獲得TextBox1的內容 
  34.  

如果要捕獲一個ASPX頁面的輸出結果,然后將結果插入另一個ASPX頁面的特定位置,則使用Server.Execute。

·如果要確保HTML輸出合法,請使用Response.Redirect,因為Server.Execute 或者Server.Transfer方法返回給客戶端的頁面包含多個

標記,不是合法的HTML頁面,在非IE瀏覽器中可能會發生錯誤。

以上就三種asp.net頁面跳轉的方法,希望對大家的學習有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 吉隆县| 海晏县| 东山县| 格尔木市| 英山县| 宜宾县| 大荔县| 修文县| 广汉市| 于田县| 京山县| 南开区| 信阳市| 南华县| 垣曲县| 庄河市| 苏州市| 洛阳市| 仁寿县| 赣州市| 铜鼓县| 新余市| 河南省| 大名县| 仲巴县| 化德县| 吉木乃县| 五峰| 屏东市| 无棣县| 陆河县| 分宜县| 岑溪市| 图木舒克市| 察雅县| 神木县| 新兴县| 乐陵市| 枣强县| 共和县| 平湖市|