中文字幕日韩一区二区_国产一区二区av_国产毛片av_久久久久国产一区_色婷婷电影_国产一区二区精品

ASP.NET頁面間數(shù)據(jù)傳遞的方法

  00、引言

  Web頁面是無狀態(tài)的, 服務(wù)器對每一次請求都認(rèn)為來自不同用戶,因此,變量的狀態(tài)在連續(xù)對同一頁面的多次請求之間或在頁面跳轉(zhuǎn)時不會被保留。在用ASP.NET 設(shè)計開發(fā)一個Web系統(tǒng)時, 遇到一個重要的問題是如何保證數(shù)據(jù)在頁面間進(jìn)行正確、安全和高效地傳送,ASP.NET 提供了狀態(tài)管理等多種技術(shù)來解決保存和傳遞數(shù)據(jù)問題,以下來探討.NET 下的解決此問題的各種方法和各自的適用場合。

  1、ASP.NET頁面間數(shù)據(jù)傳遞的各種方法和分析

  1.1 使用Querystring 方法

  QueryString 也叫查詢字符串, 這種方法將要傳遞的數(shù)據(jù)附加在網(wǎng)頁地址(URL)后面進(jìn)行傳遞。如頁面A.ASPx 跳轉(zhuǎn)到頁面B.ASPx,可以用Request.Redirect("B.ASPx?參數(shù)名稱=參數(shù)值")方法,也可以用超鏈接:,頁面跳轉(zhuǎn)后,在目標(biāo)頁面中可用Ruquest["參數(shù)名稱"]來接收參數(shù)。使用QuerySting 方法的優(yōu)點(diǎn)是實(shí)現(xiàn)簡單, 不使用服務(wù)器資源;缺點(diǎn)是傳遞的值會顯示在瀏覽器的地址欄上,有被篡改的風(fēng)險,不能傳遞對象,只有在通過URL 請求頁時查詢字符串才是可行的。

  1.2 利用隱藏域

  隱藏域不會顯示在用戶的瀏覽器中, 一般是在頁面中加入一個隱藏控件, 與服務(wù)器進(jìn)行交互時把值賦給隱藏控件并提交給下一頁面。隱藏域可以是任何存儲在網(wǎng)頁中的與網(wǎng)頁有關(guān)的信息的存儲庫。使用隱藏域存入數(shù)值時用:hidden 控件.value=數(shù)值,取出接收數(shù)值時用:變量=hidden 控件.value。使用隱藏域的優(yōu)點(diǎn)是實(shí)現(xiàn)簡單, 隱藏域是標(biāo)準(zhǔn)的HTML 控件,不需要復(fù)雜的編程邏輯。隱藏域在頁上存儲和讀取,不需要任何服務(wù)器資源,幾乎所有瀏覽器和客戶端設(shè)備都支持具有隱藏域的窗體。缺點(diǎn)是存儲結(jié)構(gòu)少,僅僅支持簡單的數(shù)據(jù)結(jié)構(gòu),存儲量少,因為它被存儲在頁面本身,所以無法存儲較大的值,而且大的數(shù)據(jù)量會受到防火墻和代理的阻止。

  1.3 ViewState

  ViewState 是由ASP.NET 頁面框架管理的一個隱藏的窗體字段。當(dāng)ASP.NET 執(zhí)行某個頁面時,該頁面上的ViewState 值和所有控件將被收集并格式化成一個編碼字符串, 然后被分配給隱藏窗體字段的值屬性。使用ViewState 傳遞數(shù)據(jù)時可用:ViewState [" 變量名"]=數(shù)值,在取出數(shù)據(jù)時用:變量=ViewState["變量名"]。使用ViewState 的優(yōu)點(diǎn)是:在對同一頁的多個請求間自動保留值,不用服務(wù)器端資源,實(shí)現(xiàn)簡單,視圖狀態(tài)中的值經(jīng)過哈希計算和壓縮,并且針對Unicode 實(shí)現(xiàn)進(jìn)行編碼,其安全性要高于使用隱藏域;缺點(diǎn)是因為ViewState 存儲在頁面本身,因此如果存儲較大的值,用戶顯示頁和發(fā)送頁時的速度可能會減慢。雖然視圖狀態(tài)以哈希格式存儲數(shù)據(jù),但它仍可以被篡改。

  1.4 使用Cookie

  Cookie 可以在頁面之間傳遞少量信息, 可以存儲在客戶端的文本文件中,也可存儲在客戶端的內(nèi)存中。Cookie 方法適用于存儲少量頁面中經(jīng)常改動的信息, 如為登陸過的網(wǎng)站保存登陸用戶名,為用戶輸入提供方便,還有在一些用戶自定義項目上保存用戶的個性化設(shè)置。使用Cookie傳遞數(shù)據(jù)時可用:Response.Cookies["鍵名"]=鍵值;取出數(shù)據(jù)用:變量名=Request.Cookies["鍵名"]。使用Cookie 優(yōu)點(diǎn)是:Cookie 存儲在客戶端, 不使用服務(wù)器資源,實(shí)現(xiàn)簡單,可配置到期時間。缺點(diǎn)是:可以存儲的數(shù)據(jù)量比較少,由于Cookie 并不被所有的瀏覽器支持,而且還可能被用戶禁止或刪除,所以不能用于保存關(guān)鍵數(shù)據(jù)。另外,Cookie 保存的形式是簡單的明文文本,在它里面不宜保存敏感的、未加密的數(shù)據(jù)。

  1.5 使用application 變量

  使用Application 變量也可以實(shí)現(xiàn)頁面間的傳值,Application變量是全局性的,所有用戶共享一個Application 變量,一旦定義,它將影響到程序的所有部分。如果想在整個應(yīng)用程序范圍使用某個變量值A(chǔ)pplication 對象將是最佳的選擇。存入數(shù)據(jù)時, 把值添加到Application 變量里:Application["變量名"]=數(shù)值;取出數(shù)據(jù)用:變量=Application["變量名"];在不需要使用該Application 時,要顯式清除它:Application["量名"]=null。
  Application 優(yōu)點(diǎn):易于使用,全局范圍。可供應(yīng)用程序中的所有頁來訪問。缺點(diǎn):若保存數(shù)據(jù)的服務(wù)器端進(jìn)程被損壞(如因服務(wù)器崩潰、升級或關(guān)閉而損壞),那么數(shù)據(jù)就會丟失,所以利用Application 一定要有保底的策略;占用服務(wù)器端的內(nèi)存,這可能會影響服務(wù)器的性能以及應(yīng)用程序的可伸縮性。

  1.6 使用session 變量

  Session 對象可以用來存儲需要維護(hù)的指定對話的信息,不同的客戶端生成不同的Session 對象。Session 用于存儲特定于單獨(dú)會話的短期信息。Session 的使用方法和格式與Application 相同。

  優(yōu)點(diǎn):易于實(shí)現(xiàn),并且提供較高的安全性和持久性,可以應(yīng)對IIS 重啟和輔助進(jìn)程重啟,可在多進(jìn)程中使用。缺點(diǎn)是耗用服務(wù)器端的內(nèi)存。所以不要存儲大量的信息。Session 最常見的用途是與Cookie 一起向Web 應(yīng)用程序提供用戶標(biāo)識功能,Session也可用于不支持Cookie 的瀏覽器。但是,使用無Cookie 的Session 需要將會話標(biāo)識符放置在查詢字符串中,同樣會遇到本文在查詢字符串一節(jié)中陳述的安全問題。

  1.7 使用類的靜態(tài)屬性

  這種方法是利用類的靜態(tài)屬性實(shí)現(xiàn)兩個頁面間的值傳。定義一個包含靜態(tài)屬性的類;將要傳送的值賦給靜態(tài)屬性;目標(biāo)頁面中可以通過靜態(tài)屬性獲得源頁面中要傳的值。
優(yōu)點(diǎn)是可以方便傳送多個數(shù)據(jù),缺點(diǎn)是需要額外編程,增加程序設(shè)計的工作量,占用服務(wù)器內(nèi)存。

  1.8 使用Server.Transfer

  通過Server.Transfer 方法把執(zhí)行流程從當(dāng)前的ASPX 文件轉(zhuǎn)到同一服務(wù)器上的另一個ASPX 頁面的同時,可保留表單數(shù)據(jù)或查詢字符串,做法是把該方法的第二個參數(shù)設(shè)置成True,在第一個頁面用Server.Transfer("目標(biāo)頁面名.ASPx",true);目標(biāo)頁面取出數(shù)據(jù)用:Ruquest.Form["控件名稱"]或Ruquest.QueryString["控件名稱"]。ASP.NET2.0 中還可以這樣來用,代碼如下:

PReviousPage pg1;pg1=(PreviousPage)Context.Handler;Response.Write(pg1.Name);

NET技術(shù)ASP.NET頁面間數(shù)據(jù)傳遞的方法,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 亚洲激情专区 | 欧美日韩第一页 | 日韩a v在线免费观看 | 91精品国产91久久久久久丝袜 | 免费看黄色国产 | 中文字幕国产视频 | 免费看av大片 | 国产福利在线小视频 | 亚洲欧美一区二区三区视频 | 久久综合av | 久久精品国产一区二区电影 | 久久免费精品视频 | 天堂在线www| 国产a级毛片| 91精品午夜窝窝看片 | 99久久99久久精品国产片果冰 | 在线国产视频观看 | 国产美女自拍视频 | 亚洲精品一二三区 | 99精品欧美一区二区三区综合在线 | 日韩av网址在线观看 | 久久最新精品 | 福利视频一二区 | 国产精品中文字幕在线 | 天天操天天插天天干 | 99久久久久久 | 亚洲国产成人精品女人久久久 | 在线观看中文字幕 | 99精品国产一区二区三区 | 国产精品久久久久久网站 | 亚洲精品国产电影 | 中文字幕日韩一区 | 欧美99久久精品乱码影视 | 91国自产 | 免费成人av网站 | 国产在线观看一区二区 | 国产在线一区二区三区 | 欧美在线观看一区 | 亚洲福利在线观看 | 久久视频免费看 | 欧美综合一区二区 |