亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

ASP.NET頁面間數據傳遞的方法

2019-11-17 03:49:32
字體:
來源:轉載
供稿:網友

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

0、引言

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

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

1.1 使用Querystring 方法

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

1.2 利用隱藏域

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

1.3 ViewState

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

1.4 使用Cookie

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

1.5 使用application 變量

使用Application 變量也可以實現頁面間的傳值,Application變量是全局性的,所有用戶共享一個Application 變量,一旦定義,它將影響到程序的所有部分。如果想在整個應用程序范圍使用某個變量值Application 對象將是最佳的選擇。存入數據時, 把值添加到Application 變量里:Application["變量名"]=數值;取出數據用:變量=Application["變量名"];在不需要使用該Application 時,要顯式清除它:Application["量名"]=null。
Application 優點:易于使用,全局范圍??晒贸绦蛑械乃许搧碓L問。缺點:若保存數據的服務器端進程被損壞(如因服務器崩潰、升級或關閉而損壞),那么數據就會丟失,所以利用Application 一定要有保底的策略;占用服務器端的內存,這可能會影響服務器的性能以及應用程序的可伸縮性。

1.6 使用session 變量

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

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

1.7 使用類的靜態屬性

這種方法是利用類的靜態屬性實現兩個頁面間的值傳。定義一個包含靜態屬性的類;將要傳送的值賦給靜態屬性;目標頁面中可以通過靜態屬性獲得源頁面中要傳的值。
優點是可以方便傳送多個數據,缺點是需要額外編程,增加程序設計的工作量,占用服務器內存。

1.8 使用Server.Transfer

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

PReviousPage pg1;
pg1=(PreviousPage)Context.Handler;
Response.Write(pg1.Name);
說明: 此段代碼用在目標頁面中取出傳遞的值,Previous- Page 是原頁面的類名,Name 是在原頁面定義的屬性, 需要傳遞 的數據存入到此屬性中。
使用這種方法, 需要寫一些代碼以創建一些屬性以便可以 在另一個頁面訪問它, 可以在另一個頁面以對象屬性的方式來 存取數值,這個方法在頁面間值傳遞中是特別有用的,這種方法 不但簡潔,同時又是面向對象的。

1.9 Cache

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

2、不同頁面跳轉情況下可采用的傳值方法

2.1 情況一:源頁面可以跳轉到目標頁面,源頁面傳遞數據給目標頁面

使用查詢字符串, 將少量信息從一頁傳輸到另一頁以及不 存在安全性問題時,是一個簡單常用的方法;使用Server.Transfer方法,可傳遞表單數據或查詢字符串到另一個頁面,還可以 保存初始頁的HttpContext, 當目標頁和源頁面在同一個服務器 時,可以用此方法。

2.2 情況二:頁面傳遞數值給自身頁面

即在對同一頁的多個請求間保留值, ViewState 屬性可提供具有基本安全性的功能。也可用隱藏域,存儲少量回發到自身或另一頁的頁信息時使用,不考慮安全性問題時使用。

2.3 情況三:源頁面傳遞數值給目標頁面,而源頁面不能直接連接到目標頁面。

有多個方法,具體用哪個要看具體情況。

Application: 存儲由多個用戶使用且更改不頻繁的全局信息,此時安全性不成為問題。不要存儲大量的信息。Session:存儲特定于單獨會話的短期信息,并且需要較高的安全性。不要在會話狀態中存儲大量的信息。需要注意,將為應用程序中每一會話的生存期創建并維護會話狀態對象。在支持許多用戶的應用程序中, 這可能會占用大量服務器資源并影響可縮放性。

Cookie: 當您需要在客戶端存儲少量信息以及不存在安全性問題時使用。類的靜態屬性,方便傳送多個數據。

Cache :對象用于單個用戶、一組用戶或所有的用戶??梢詾槎鄠€請求長時間、高效率的保存數據。上述幾個方法, 不僅用于情況三, 前面兩種情況都可以使用,只是沒有必要時盡量少用,否則會造成資源浪費或增加程序的復雜性。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产91ⅴ在线精品免费观看| 亚洲欧美国产日韩天堂区| 欧美日韩综合视频网址| 亚洲成人av在线| 国产精品国内视频| 亚洲国产精品福利| 欧美精品一区二区三区国产精品| 亚洲福利视频在线| 日韩av一区在线| 欧美大全免费观看电视剧大泉洋| 亚洲国产女人aaa毛片在线| 亚洲欧美在线免费观看| 国产精品视频在线播放| 国产成人精品久久亚洲高清不卡| 日韩中文在线不卡| 亚洲大尺度美女在线| 欧美情侣性视频| 亚洲一区二区免费| 欧美成人激情视频免费观看| 欧美一级片一区| 不卡在线观看电视剧完整版| 欧美精品成人在线| 欧洲永久精品大片ww免费漫画| 精品国产自在精品国产浪潮| 亚洲天堂网在线观看| 亚洲精品免费一区二区三区| 欧美精品videos| 日本一欧美一欧美一亚洲视频| 亚洲精品99999| 久久视频在线免费观看| 日韩av在线免费播放| 欧美老女人在线视频| 色香阁99久久精品久久久| 亚洲a中文字幕| 国产一区二区三区久久精品| 26uuu日韩精品一区二区| 啪一啪鲁一鲁2019在线视频| 91久久在线视频| 国产精品久久久久久久美男| 亚洲精品在线91| 日韩欧美国产成人| 欧美怡红院视频一区二区三区| 日韩中文字幕国产精品| 亚洲国产精品久久久久秋霞蜜臀| 成人午夜在线观看| 中文字幕一精品亚洲无线一区| 欧美风情在线观看| 这里精品视频免费| 清纯唯美亚洲激情| 日韩av手机在线观看| 国产成人+综合亚洲+天堂| 国产精品美女午夜av| 国产亚洲福利一区| 91国产视频在线播放| 国产精品第1页| 91精品国产综合久久香蕉最新版| 尤物九九久久国产精品的分类| 欧美成人午夜激情在线| 黄色成人av网| 国产欧美精品在线播放| 欧美一级电影免费在线观看| 国产精品极品尤物在线观看| 欧美性理论片在线观看片免费| 国产性猛交xxxx免费看久久| 欧美xxxx做受欧美.88| 亚洲欧美另类自拍| 亚洲女人天堂色在线7777| 亚洲国产成人久久综合一区| 国产日韩欧美在线播放| 亚洲精品久久久久久久久| 国产91在线播放九色快色| 国产精品自拍小视频| 精品久久久久久久久久久| 欧美激情一二三| 日韩一中文字幕| 亚洲va欧美va国产综合剧情| 国产一区二区三区四区福利| 91国偷自产一区二区三区的观看方式| 亚洲免费一在线| 亚洲第一福利视频| 国产欧美精品一区二区| 91精品国产91久久久久久最新| 欧美精品videofree1080p| 久久91亚洲精品中文字幕| 午夜精品理论片| 热久久99这里有精品| 国自产精品手机在线观看视频| 69影院欧美专区视频| 成人免费高清完整版在线观看| 午夜欧美不卡精品aaaaa| 成人444kkkk在线观看| 日韩性xxxx爱| 午夜欧美大片免费观看| 国产va免费精品高清在线观看| 欧美性猛交xxxxx免费看| 精品视频www| 国产精品扒开腿做| 亚洲精品一区二三区不卡| 欧美日韩国产一区二区三区| 亚洲欧美国产一区二区三区| 国产日本欧美视频| 久久久之久亚州精品露出| 精品亚洲一区二区三区在线观看| 亚洲欧美在线免费| 精品国产老师黑色丝袜高跟鞋| 欧美日韩成人在线视频| 国产色婷婷国产综合在线理论片a| 国产97在线|亚洲| 川上优av一区二区线观看| 成人免费在线视频网址| 国内偷自视频区视频综合| 韩剧1988免费观看全集| 亚洲欧美中文字幕在线一区| 成人久久一区二区| 日韩毛片中文字幕| 久久久久久久国产| 免费97视频在线精品国自产拍| 久久精品国产一区| 日韩电影视频免费| 亚洲欧美综合区自拍另类| 亚洲欧美成人一区二区在线电影| 亚洲综合日韩中文字幕v在线| 91精品国产自产在线| 中文字幕亚洲综合久久| 亚洲在线视频观看| 久热在线中文字幕色999舞| 国产欧美精品日韩精品| 国产xxx69麻豆国语对白| 欧美精品在线观看| 精品久久久在线观看| 日韩电影免费观看中文字幕| 精品欧美国产一区二区三区| 欧美人交a欧美精品| 欧洲午夜精品久久久| www日韩中文字幕在线看| 国产欧美精品xxxx另类| 亚洲黄在线观看| 欧美日韩一区二区在线| 性色av一区二区三区红粉影视| 最好看的2019的中文字幕视频| 亚洲欧洲一区二区三区在线观看| 亚洲欧美制服另类日韩| 亚洲国产成人精品久久| 91麻豆国产精品| 成人精品久久一区二区三区| 奇米影视亚洲狠狠色| 国模精品系列视频| 亚洲欧洲xxxx| 日韩hd视频在线观看| 国产精品美女主播| 欧美裸体男粗大视频在线观看| 欧美激情精品久久久久久变态| 久久久国产在线视频| 91免费在线视频| 欧美激情一区二区三区成人| 欧美日韩午夜视频在线观看| 亚洲激情电影中文字幕| 91精品国产网站| 成人国产在线激情| 91av网站在线播放| 欧洲成人免费视频| 国产香蕉一区二区三区在线视频| 日本一区二区不卡| 久久免费少妇高潮久久精品99|