国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

細(xì)說ASP.NET頁面間數(shù)據(jù)傳遞的幾種方法

開發(fā) 后端
在這里我們將介紹的是ASP.NET頁面間數(shù)據(jù)傳遞的幾種方法,希望對(duì)大家有所幫助。

本文我們將討論的是ASP.NET頁面間數(shù)據(jù)傳遞的幾種方法,對(duì)此希望能幫助大家正確的理解ASP.NET頁面間數(shù)據(jù)傳遞的用處以及便利性。

0、引言

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

#T#

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)是傳遞的值會(huì)顯示在瀏覽器的地址欄上,有被篡改的風(fēng)險(xiǎn),不能傳遞對(duì)象,只有在通過URL 請(qǐng)求頁時(shí)查詢字符串才是可行的。

1.2 利用隱藏域

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

1.3 ViewState

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

1.4 使用Cookie

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

1.5 使用Application 變量

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

1.6 使用Session 變量 

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

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

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

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

1.8 使用Server.Transfer 

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

  1. PreviousPage pg1;2pg1=(PreviousPage)Context.Handler; 3Response.Write(pg1.Name); 

說明: 此段代碼用在目標(biāo)頁面中取出傳遞的值,Previous- Page 是原頁面的類名,Name 是在原頁面定義的屬性, 需要傳遞 的數(shù)據(jù)存入到此屬性中。
使用這種方法, 需要寫一些代碼以創(chuàng)建一些屬性以便可以 在另一個(gè)頁面訪問它, 可以在另一個(gè)頁面以對(duì)象屬性的方式來 存取數(shù)值,這個(gè)方法在頁面間值傳遞中是特別有用的,這種方法 不但簡潔,同時(shí)又是面向?qū)ο蟮摹?/P>

1.9 Cache 

Cache 具有強(qiáng)大的數(shù)據(jù)操作功能, 以鍵值對(duì)集合的形式存 儲(chǔ)數(shù)據(jù),可以通過指定關(guān)鍵字來插入和檢索數(shù)據(jù)項(xiàng)。它的基于依 賴性的終止功能, 使它能夠精確控制如何并及時(shí)更新和消除緩 存中的數(shù)據(jù)。它可以內(nèi)部進(jìn)行鎖定管理,不需要象Application 對(duì)象那樣使用Lock()和Unlock()方法進(jìn)行串行化管理。缺點(diǎn)是使用 方法較復(fù)雜,使用不當(dāng)反而降低性能. 

2、不同頁面跳轉(zhuǎn)情況下可采用的傳值方法

2.1 情況一:源頁面可以跳轉(zhuǎn)到目標(biāo)頁面,源頁面?zhèn)鬟f數(shù)據(jù)給目標(biāo)頁面

使用查詢字符串, 將少量信息從一頁傳輸?shù)搅硪豁撘约安?存在安全性問題時(shí),是一個(gè)簡單常用的方法;使用Server.Transfer方法,可傳遞表單數(shù)據(jù)或查詢字符串到另一個(gè)頁面,還可以 保存初始頁的HttpContext, 當(dāng)目標(biāo)頁和源頁面在同一個(gè)服務(wù)器 時(shí),可以用此方法。

2.2 情況二:頁面?zhèn)鬟f數(shù)值給自身頁面 

 即在對(duì)同一頁的多個(gè)請(qǐng)求間保留值, ViewState 屬性可提供具有基本安全性的功能。也可用隱藏域,存儲(chǔ)少量回發(fā)到自身或另一頁的頁信息時(shí)使用,不考慮安全性問題時(shí)使用。

2.3 情況三:源頁面?zhèn)鬟f數(shù)值給目標(biāo)頁面,而源頁面不能直接連接到目標(biāo)頁面。

有多個(gè)方法,具體用哪個(gè)要看具體情況。

Application: 存儲(chǔ)由多個(gè)用戶使用且更改不頻繁的全局信息,此時(shí)安全性不成為問題。不要存儲(chǔ)大量的信息。Session:存儲(chǔ)特定于單獨(dú)會(huì)話的短期信息,并且需要較高的安全性。不要在會(huì)話狀態(tài)中存儲(chǔ)大量的信息。需要注意,將為應(yīng)用程序中每一會(huì)話的生存期創(chuàng)建并維護(hù)會(huì)話狀態(tài)對(duì)象。在支持許多用戶的應(yīng)用程序中, 這可能會(huì)占用大量服務(wù)器資源并影響可縮放性。

Cookie: 當(dāng)您需要在客戶端存儲(chǔ)少量信息以及不存在安全性問題時(shí)使用。類的靜態(tài)屬性,方便傳送多個(gè)數(shù)據(jù)。

Cache :對(duì)象用于單個(gè)用戶、一組用戶或所有的用戶。可以為多個(gè)請(qǐng)求長時(shí)間、高效率的保存數(shù)據(jù)。上述幾個(gè)方法, 不僅用于情況三, 前面兩種情況都可以使用,只是沒有必要時(shí)盡量少用,否則會(huì)造成資源浪費(fèi)或增加程序的復(fù)雜性。

原文標(biāo)題:ASP.NET 頁面間數(shù)據(jù)傳遞方法

鏈接:http://www.cnblogs.com/gsanidt/archive/2009/12/15/1624553.html

責(zé)任編輯:彭凡 來源: 博客園
相關(guān)推薦

2011-07-13 09:31:48

ASP.NET數(shù)據(jù)傳遞

2009-09-04 11:20:47

ASP.NET頁面間值

2009-07-20 17:07:30

提高ASP.NET性能

2012-05-07 13:23:47

ASP.NET

2009-12-11 09:36:50

ASP.NET MVC

2009-08-25 14:59:36

ASP.NET和C#連

2012-05-07 14:50:32

ASP.NET

2009-07-23 14:08:58

2009-07-24 10:53:51

ASP.NET實(shí)現(xiàn)靜態(tài)

2009-07-23 14:17:41

2009-07-29 17:26:39

ASP.NET頁面

2009-07-31 10:23:44

緩存頁面ASP.NET緩存

2009-07-31 08:56:59

ASP.NET頁面刷新

2009-08-03 13:38:18

ASP.NET編程模型

2011-07-13 08:58:51

ASP.NET

2011-06-08 10:28:15

ASP.Net

2009-07-28 13:26:34

Render方法ASP.NET

2009-07-21 15:40:59

Asp.Net動(dòng)態(tài)頁面

2009-07-28 16:40:11

ASP.NET異步頁面

2009-07-23 14:21:55

ASP.NET頁面
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

精品网站999www| 日韩国产精品视频| 欧美乱妇15p| 亚洲最黄网站| 久久美女性网| 久久久噜噜噜久噜久久综合| 亚洲成人性视频| 成人性生交大片免费看视频直播| 色悠悠久久综合网| 国产成人免费视频网站视频社区| 在线观看中文字幕| 一本久久青青| 国产精品久久久久国产精品日日| 丝袜美腿精品国产二区| 亚洲视频导航| 超碰在线视屏| 久久成人18免费观看| 日韩一区二区精品在线观看| 亚洲一区国产精品| 在线看你懂得| 欧美伊人影院| 欧美人xxxx| 久久综合入口| 中文字幕免费高清电视剧网站在线观看| 天天影视综合| 欧美亚洲综合一区| 欧美久久久久久一卡四| 国产探花在线观看| 国内精品不卡在线| 免费av一区二区| 99热这里只有精品在线播放| 国产最新精品免费| 日韩中文字幕在线视频播放| 日韩av黄色网址| 美国十次综合久久| 亚洲精品国产无套在线观| 国产一区私人高清影院| 极品美乳网红视频免费在线观看| 欧美午夜电影在线观看| 日韩欧美国产一区二区在线播放| 日韩精品电影网站| 中文字幕 在线观看| 91麻豆免费视频| 久久久极品av| 中文字幕一区二区三区域| 天天操夜夜操国产精品| 青青久久aⅴ北条麻妃| 97在线观看免费观看高清| 日韩高清在线观看| 欧美成人中文字幕| 精品一区二区三区免费看| 久久躁狠狠躁夜夜爽| 一级毛片高清视频| 久久大逼视频| 韩国成人福利片在线播放| 国产福利在线免费| 日日摸夜夜添夜夜添亚洲女人| 欧美—级高清免费播放| 日韩精品系列| 日韩高清欧美激情| 日本日本精品二区免费| 国产精品xnxxcom| 美女精品视频一区| 蜜桃999成人看片在线观看| 在线精品高清中文字幕| av免费看网址| 一本久道久久综合中文字幕| 亚洲人成绝费网站色www| 男人添女人下面高潮视频| 成人台湾亚洲精品一区二区| 欧美毛片免费观看| 成人一区二区三区中文字幕| 91精品国产综合久久国产大片| 日韩在线视频观看正片免费网站| 女人体1963| jizz亚洲女人高潮大叫| 中文字幕在线观看不卡视频| 成年人三级视频| 青青青伊人色综合久久| 日韩精品一区二区三区电影| 国产综合久久久久久久久久久久| 亚洲三级在线观看| 久久九九全国免费精品观看| 奇米精品一区二区三区在线观看| melody高清在线观看| 欧美va亚洲va| 欧美黑人一区| 国产精品第一区| 午夜欧美理论片| 成人性生交大片免费看午夜| 秋霞久久久久久一区二区| 亚洲第五色综合网| 成人一区二区三区视频在线观看| 欧美专区视频| 91在线观看网站| 国产高清无密码一区二区三区| 国产淫片av片久久久久久| 成人动漫在线一区| 国产日韩精品一区二区| 亚洲欧美视频一区二区三区| 亚洲美女精品成人在线视频| 国产男女无遮挡| 国模视频一区二区三区| 91视频免费在线| 日本一区二区视频| 欧美亚洲在线视频| 意大利激情丛林无删减版dvd| 欧美性极品xxxx做受| 日本成人黄色网| 久久超碰97中文字幕| 日韩av在线综合| 免费观看日韩av| 精品一区二区三区日本| 影音先锋日韩精品| 国产精品美女主播| 无码日韩精品一区二区免费| 久久成人人人人精品欧| 亚洲国产精品成人| 成人午夜一级二级三级| 国产一区二区三区高清播放| 在线观看中文字幕| 日韩中文字幕在线免费观看| 伊人久久婷婷| 国产欧美一区二区三区不卡高清| 欧美午夜精彩| 欧美有码在线观看视频| 美女一区二区三区| 韩国中文字幕2020精品| 欧美激情乱人伦| 日韩一区网站| 欧美日韩在线高清| 动漫精品一区二区| 天堂影院在线| 欧美怡红院视频| 偷拍亚洲色图| 97干在线视频| 国产亚洲自拍一区| 九九爱精品视频| 欧美精品一级二级| 欧美亚洲在线日韩| 成人eeuss影院在线观看| 亚洲免费视频中文字幕| 91xxxxx| 综合久久给合久久狠狠狠97色 | 欧美日韩免费精品| 一区二区三区久久| 最美情侣韩剧在线播放| 色综合久久中文字幕综合网小说| 国内精品免费**视频| 日本a级在线| 亚洲成人av在线| 精品1区2区3区4区| 欧美视频综合| 亚洲成人久久网| 亚洲一区二区三区高清| 妺妺窝人体色www看人体| 久久精品日产第一区二区三区高清版| 俺来也官网欧美久久精品| 久久人人九九| 成人激情午夜影院| 自拍网站在线观看| 视频在线99| 国产午夜精品一区二区三区四区| xx欧美视频| 26uuu日韩精品一区二区| 久久久久久一二三区| 91麻豆精品| 国产精品久久91| 一区二区三区四区乱视频| 久久精品色播| 久久精品一二三区| 精品视频全国免费看| 91禁在线看| 久久91亚洲精品中文字幕| 妖精视频一区二区三区| 日本va中文字幕| 欧美孕妇与黑人孕交| 亚洲美腿欧美偷拍| 清纯唯美日韩| 在线小视频网址| 国产福利一区二区三区在线观看| 国产精品一二三四五| 激情视频免费| 日韩精品一区在线观看| 丝袜美腿高跟呻吟高潮一区| 福利影院在线看| 婷婷五月综合缴情在线视频| 欧美成人自拍视频| 亚洲第一狼人社区| 欧美色片在线观看| 成人黄色av网| 欧美电影影音先锋| 韩国毛片一区二区三区| 亚洲综合资源| 写真福利理论片在线播放| 六十路精品视频| 久久精品视频网站| 天天影视涩香欲综合网| 深夜激情久久| 国产呻吟对白刺激无套视频在线|