Asp 6種頁面轉向方法

asp.net 頁面轉向方法其實就是兩種 
服務器端轉向和客戶端轉向 

客戶端轉向實質上是指由瀏覽器直接向服務器端從新發送一個請求。 
而服務器端轉向是指服務器內部進行頁面的跳轉。 

服務器端轉向和客戶端轉向有如下幾個區別 
1.客戶端轉向轉向之後ie瀏覽器的地址欄會發生變化,可是服務器端轉向之後,ie瀏覽器的地址欄不變,ie瀏覽器並不知道頁面已經跳轉。 
2.客戶端轉向先後兩個頁面是不一樣的請求,可是服務器端轉向確是共用一個請求的。 

<a>標籤 hyperlink控件 response.redirect()方法以及response.write("<script language=javascript>history.go(-2);</script>) 
都屬於客戶端轉向 

server.transfer()方法和server.execute()方法都屬於服務器端轉向 



[一]、<a>
標籤
javascript

1.         <a href=」test.aspx」></a>html

2.         這是最多見的一種轉向方法;

java

[二]、hyperlink控件web

1.         asp.net 服務器端控件 屬性navigateurl指定要跳轉到的url地址瀏覽器

2.         navigateurl是能夠在服務器端使用代碼修改,這個區別於<a>服務器

3.         因爲hyperlink自己沒有事件因此要在服務器端其它事件中設置navigateurlcookie

4.         代碼示例網絡

<asp:hyperlink id=」hyperlink」 runat=」server」 navigatoeurl=」test.aspx」>ok</asp:hyperlink>

session

[三]、response.redirect()方法app

1.         過程:發送一個http響應到客戶端,通知客戶端跳轉到一個新的頁面,而後客戶端再發送跳轉請求到服務器端。

2.         頁面跳轉以後內部控件保存的全部信息丟失,當a跳轉到b,b頁面將不能訪問a頁面提交的數據信息。

3.         使用這個方法使用這個方法跳轉後瀏覽器地址欄的url信息改變

4.         可使用session cookies application等對象進行頁面間的數據傳遞

5.         重定向操做發生在客戶端,總共涉及到兩次與web服務器的通訊:一次是對原始頁面的請求

 

另外一次是重定向新頁面的請求

 


[四]、
response.write("<script language=javascript>history.go(-2);</script>)
response.write("<script language=javascript>history.back();</script>)


[五]、server.transfer()方法

1.         實現頁面跳轉的同時將頁面的控制權進行移交

2.         頁面跳轉過程當中request session等保存的信息不變,跳轉以後可使用上一個頁面提交的數據

3.         跳轉以後瀏覽器地址欄的url不變

4.         這種方法的重定向請求是在服務器端的進行的,瀏覽器不知道頁面已經發生了一次跳轉

[六]、server.execute()方法

1.         該方法容許當前頁面執行同一個web服務器上的另外一個頁面

2.         頁面執行完畢以後從新回到原始頁面發出server.execute()的位置。

3.         這種方式相似針對頁面的一次函數調用 被請求的頁面可使用原始頁面的表單數據和查詢字符串集合

4.         被調用頁面的page指令的enableviewstatemac屬性設置爲false

注:
1。server.execute和server.transfer視乎你怎麼用,一般調用以前都應該response.clear()清除以前的輸出,調用以後response.flush()和response.end()結束處理。.
2。hyperlink對比a的最大好處是支持resolveurl。a其實也能夠runat="server",雖然感受有點怪,但至少能夠在服務器端對它進行通常控件都
能進行的賦值和數據綁定操做,然而resolveurl則是它佈局別的,若是要用"~/default.aspx"這樣的路徑則最好用hyperlink。

話題相關:

1.         爲了確保html輸出的合法性 最好使用response.redirect方法;由於server.execute或者server.transfer方法返回給客戶端的頁面包含多個<html><body>標記,不是合法的html頁面,在非ie瀏覽器中可能會發生錯誤。

2.         因爲server.transfer在服務器端執行重定向,因此避免了沒必要要的網絡通訊,從而得到了更好的性能和瀏覽效果

 

 

搜索此文相關文章:Asp 6種頁面轉向方法

 

此文連接:http://www.makaidong.com/%E5%8D%9A%E5%AE%A2%E5%9B%AD%E6%8E%92%E8%A1%8C%E6%A6%9C/1917.shtml

 

轉載請註明出處:Asp 6種頁面轉向方法 - 博客園

相關文章
相關標籤/搜索