在優化.net
中,用到了頁面傳值的功能,彙總出來跟大家分享一下。
我找到了七種傳值方式,分別是:
url傳值,
session
傳值,cookie
postbackurl屬性
和使用@previouspagetype指令
傳值。
傳值方法名稱
傳值方式
優缺點url
傳值(querystring傳值)
2種傳值方式。
1、超級鏈結文字進行傳值;
2、呼叫
httpresponse物件的redirect方法
優點:一般用於傳遞的值少,安全性較低;
缺點:傳遞的值是會顯示在瀏覽器的位址列上的,而且不能傳遞物件
session
傳值把控制項中的值存在
session變數中,然後在另乙個頁面中使用它,以不同頁面間實現值傳遞的目的。
優點:將每份資料儲存於伺服器變數中,可以傳遞比較多的資料;安全性較高
缺點:session變數如果儲存過多的資料會消耗過多的伺服器資源;
cookie
傳值比較特殊的資料儲存方式,因為這種方式將資料儲存於瀏覽使用者的電腦中,以文字檔案的形式存在於磁碟中
優點:很多登入系統就是利用
cookie實現使用者自動登入。即使用者登入一次的登入資訊將被寫入到使用者電腦的cookie檔案中,下次登入時,**自動讀取該cookie完成身份驗證。
缺點:有些瀏覽器不支援
cookie
傳值,安全性不高
server.transfer傳值
使用該方法可以在另乙個頁面以物件屬性的方式來訪問顯露的值,但還需要額外寫一些**以建立一些屬性以便可以在另乙個頁面訪問它
transfer只適合於伺服器端重定向的頁面。
優點:使用這種方法是簡潔的同時又是物件導向的。使用該方法程式設計者可以在另乙個頁面以公開物件屬性的方式來訪問值。
缺點:操作步驟較多
通過,也就是說對所有使用者都有效。其常用的方法用
lock和unlock。
利用某些控制項的
postbackurl屬性
主要是設定控制項的「
postbackurl」屬性,
優點:更加快捷,並減少了處理步驟。 使用
@previouspagetype指令
用於批定跨頁面的傳送過程起始於哪個頁面.包含兩個屬性:
typename:設定回送時的派生類名;
virtualpath:設定回送時所傳送頁面的位址
.這個指令是
.net 2.0中的乙個新指令,用於處理asp.net 2.0提供的跨頁面傳送新功能。
相同點:儲存傳遞值,
是對每乙個使用者而言的
;不同點:
cookie
存放在客戶端;
session
存放在伺服器端,而且
cookie的使用要配合 asp.net內建物件request來使用。
相同點:通過與
session
的傳值方法相似;
不同點:
相同點:跨頁面傳送和呼叫
httpserverutility物件的transfer方法有相似之處,不過效率更高
;不同點:
因為呼叫httpserverutility物件的transfer方法是基於伺服器的方法,而跨頁面傳送是基於瀏覽器端的。
.net
傳值,看起來方法挺多,但是真要應用的時候,還是要有針對性,考慮你做的系統的功能需求,安全性等方方方面,不是找最簡單最方便的方法,而是要找最適合做你這個專案的方法,中國的中庸之道,「平衡」就好。
傳值 傳值引用
首先對傳值和傳引用要有個基本的概念 傳值 傳遞的是值的副本。方法中對副本的修改,不會影響到呼叫方。傳引用 傳遞的是引用的副本,共用乙個記憶體,會影響到呼叫方。此時,形參和實參指向同乙個記憶體位址。對引用副本本身 物件位址 的修改,如設定為null,重新指向其他物件,不會影響到呼叫方。直接上 更好的理...
Swift 傳值之屬性傳值
swift 的語言非常簡練,這就讓它的屬性傳值功能變得更加強大,從第乙個介面傳到第二個介面,這種方法非常簡單,這裡就不在贅述。下面這個例子說的是用屬性傳值從第二個控制器傳值到第乙個控制器的方法。屬性傳值 傳值 閉包傳值 通知傳值 單例傳值 首先,在storyboard裡面拖如下介面,從左到右分別是導...
html 傳值之url 傳值
今天做h5的時候 由於loaclstorage 中不想寫太多的東西 vardata1 json.stringify data 將object 型別的data轉換 與這個相反的是json.parse data location.href next.html?txt data1 這個 是因為我的資料中有...