ASP.NET頁面跳轉的幾種方法

來源:互聯網
上載者:User
 <a>標籤1.         <a href=”test.aspx”></a>2.         這是最常見的一種轉向方法;HyperLink控制項1.         Asp.net 伺服器端控制項 屬性NavigateUrl指定要跳轉到的Url地址2.         NavigateUrl是可以在伺服器端使用代碼修改,這個區別於<a>3.         由於HyperLink本身沒有事件所以要在伺服器端其它事件中設定NavigateUrl4.         程式碼範例<Asp:HyperLink id=”hyperlink” runat=”server” NavigatoeUrl=”test.aspx”>ok</Asp:HyperLink>Response.Redirect()方法1.         過程:發送一個Http響應到用戶端,通知用戶端跳轉到一個新的頁面,然後用戶端再發送跳轉請求到伺服器端。2.         頁面跳轉之後內部控制項儲存的所有資訊丟失,當A跳轉到B,B頁面將不能訪問A頁面提交的資料資訊。3.         使用這個方法使用這個方法跳轉後瀏覽器地址欄的Url資訊改變4.         可以使用Session Cookies Application等對象進行頁面間的資料傳遞5.         重新導向操作發生在用戶端,總共涉及到兩次與Web伺服器的通訊:一次是對原始頁面的請求,另一次是重新導向新頁面的請求Server.Transfer()方法1.         實現頁面跳轉的同時將頁面的控制權進行移交2.         頁面跳轉過程中Request Session等儲存的資訊不變,跳轉之後可以使用上一個頁面提交的資料3.         跳轉之後瀏覽器地址欄的Url不變4.         這種方法的重新導向請求是在伺服器端的進行的,瀏覽器不知道頁面已經發生了一次跳轉Server.Execute()方法1.         該方法允許當前頁面執行同一個Web伺服器上的另一個頁面2.         頁面執行完畢之後重新回到原始頁面發出Server.Execute()的位置。3.         這種方式類似針對頁面的一次函數調用 被請求的頁面可以使用原始頁面的表單資料和查詢字串集合4.         被調用頁面的Page指令的EnableViewStateMac屬性設定為FalseJavaScript        string str = "<script language=javascript>history.go(-2);</script>";        Response.Write(str);話題相關:1.         為了確保HTML輸出的合法性 最好使用Response.Redirect方法;因為Server.Execute 或者Server.Transfer方法返回給用戶端的頁麵包含多個<Html><body>標記,不是合法的HTML頁面,在非IE瀏覽器中可能會發生錯誤。2.         由於Server.Transfer在伺服器端執行重新導向,所以避免了不必要的網路通訊,從而獲得了更好的效能和瀏覽效果

<a>標籤1.         <a href=”test.aspx”></a>2.         這是最常見的一種轉向方法; HyperLink控制項1.         Asp.net 伺服器端控制項 屬性NavigateUrl指定要跳轉到的Url地址2.         NavigateUrl是可以在伺服器端使用代碼修改,這個區別於<a>3.         由於HyperLink本身沒有事件所以要在伺服器端其它事件中設定NavigateUrl4.         程式碼範例<Asp:HyperLink id=”hyperlink” runat=”server” NavigatoeUrl=”test.aspx”>ok</Asp:HyperLink> Response.Redirect()方法1.         過程:發送一個Http響應到用戶端,通知用戶端跳轉到一個新的頁面,然後用戶端再發送跳轉請求到伺服器端。2.         頁面跳轉之後內部控制項儲存的所有資訊丟失,當A跳轉到B,B頁面將不能訪問A頁面提交的資料資訊。3.         使用這個方法使用這個方法跳轉後瀏覽器地址欄的Url資訊改變4.         可以使用Session Cookies Application等對象進行頁面間的資料傳遞5.         重新導向操作發生在用戶端,總共涉及到兩次與Web伺服器的通訊:一次是對原始頁面的請求,另一次是重新導向新頁面的請求
Server.Transfer()方法1.         實現頁面跳轉的同時將頁面的控制權進行移交2.         頁面跳轉過程中Request Session等儲存的資訊不變,跳轉之後可以使用上一個頁面提交的資料3.         跳轉之後瀏覽器地址欄的Url不變4.         這種方法的重新導向請求是在伺服器端的進行的,瀏覽器不知道頁面已經發生了一次跳轉 Server.Execute()方法1.         該方法允許當前頁面執行同一個Web伺服器上的另一個頁面2.         頁面執行完畢之後重新回到原始頁面發出Server.Execute()的位置。3.         這種方式類似針對頁面的一次函數調用 被請求的頁面可以使用原始頁面的表單資料和查詢字串集合4.         被調用頁面的Page指令的EnableViewStateMac屬性設定為False JavaScript        string str = "<script language=javascript>history.go(-2);</script>";
        Response.Write(str);
話題相關:1.         為了確保HTML輸出的合法性 最好使用Response.Redirect方法;因為Server.Execute 或者Server.Transfer方法返回給用戶端的頁麵包含多個<Html><body>標記,不是合法的HTML頁面,在非IE瀏覽器中可能會發生錯誤。2.         由於Server.Transfer在伺服器端執行重新導向,所以避免了不必要的網路通訊,從而獲得了更好的效能和瀏覽效果

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.