.net中數據交互的方法(ASP.NET頁面間數據傳遞的幾種方法)
分類:生活常識日期:2022-09-17 03:58瀏覽:3 次
1.ASP.NET頁面間數據傳遞的幾種方法
引言 Web頁面是無狀態的, 服務器對每一次請求都認為來自不同用戶,因此,變量的狀態在連續對同一頁面的多次請求之間或在頁面跳轉時不會被保留。
在用ASP.NET 設計開發一個Web系統時,遇到一個重要的問題是如何保證數據在頁面間進行正確、安全和高效地傳送html頁面之間傳遞數據, 提供了狀態管理等多種技術來解決保存和傳遞數據問題,以下來探討.NET 下的解決此問題的各種方法和各自的適用場合。 1、ASP.NET頁面間數據傳遞的各種方法和分析 1.1 使用 方法 也叫查詢字符串, 這種方法將要傳遞的數據附加在網頁地址(URL)后面進行傳遞。
如頁面A.aspx 跳轉到頁面B.aspx,可以用.("B.aspx?參數名稱=參數值")方法,也可以用超鏈接:,頁面跳轉后,在目標頁面中可用["參數名稱"]來接收參數。使用 方法的優點是實現簡單, 不使用服務器資源;缺點是傳遞的值會顯示在瀏覽器的地址欄上,有被篡改的風險,不能傳遞對象,只有在通過URL 請求頁時查詢字符串才是可行的。
1.2 利用隱藏域 隱藏域不會顯示在用戶的瀏覽器中, 一般是在頁面中加入一個隱藏控件, 與服務器進行交互時把值賦給隱藏控件并提交給下一頁面。隱藏域可以是任何存儲在網頁中的與網頁有關的信息的存儲庫。
使用隱藏域存入數值時用: 控件.value=數值,取出接收數值時用:變量= 控件.value。使用隱藏域的優點是實現簡單, 隱藏域是標準的HTML 控件,不需要復雜的編程邏輯。
隱藏域在頁上存儲和讀取,不需要任何服務器資源,幾乎所有瀏覽器和客戶端設備都支持具有隱藏域的窗體。缺點是存儲結構少,僅僅支持簡單的數據結構,存儲量少,因為它被存儲在頁面本身,所以無法存儲較大的值,而且大的數據量會受到防火墻和代理的阻止。
1.3 是由ASP.NET 頁面框架管理的一個隱藏的窗體字段。當ASP.NET 執行某個頁面時,該頁面上的 值和所有控件將被收集并格式化成一個編碼字符串, 然后被分配給隱藏窗體字段的值屬性。
使用 傳遞數據時可用: [" 變量名"]=數值,在取出數據時用:變量=["變量名"]。使用 的優點是:在對同一頁的多個請求間自動保留值,不用服務器端資源,實現簡單html頁面之間傳遞數據,視圖狀態中的值經過哈希計算和壓縮,并且針對 實現進行編碼,其安全性要高于使用隱藏域;缺點是因為 存儲在頁面本身,因此如果 存儲較大的值,用戶顯示頁和發送頁時的速度可能會減慢。
雖然視圖狀態以哈希格式存儲數據,但它仍可以被篡改。 1.4 使用 可以在頁面之間傳遞少量信息, 可以存儲在客戶端的文本文件中,也可存儲在客戶端的內存中。
方法適用于存儲少量頁面中經常改動的信息, 如為登陸過的網站保存登陸用戶名,為用戶輸入提供方便,還有在一些用戶自定義項目上保存用戶的個性化設置。使用傳遞數據時可用:.["鍵名"]=鍵值;取出數據用:變量名=.["鍵名"]。
使用 優點是: 存儲在客戶端, 不使用服務器資源,實現簡單,可配置到期時間。缺點是:可以存儲的數據量比較少,由于 并不被所有的瀏覽器支持,而且還可能被用戶禁止或刪除,所以不能用于保存關鍵數據。
另外, 保存的形式是簡單的明文文本,在它里面不宜保存敏感的、未加密的數據。 1.5 使用 變量 使用 變量也可以實現頁面間的傳值,變量是全局性的,所有用戶共享一個 變量,一旦定義,它將影響到程序的所有部分。
如果想在整個應用程序范圍使用某個變量值 對象將是最佳的選擇。存入數據時, 把值添加到 變量里:["變量名"]=數值;取出數據用:變量=["變量名"];在不需要使用該 時,要顯式清除它:["量名"]=null。
優點:易于使用,全局范圍。可供應用程序中的所有頁來訪問。
缺點:若保存數據的服務器端進程被損壞(如因服務器崩潰、升級或關閉而損壞),那么數據就會丟失,所以利用 一定要有保底的策略;占用服務器端的內存,這可能會影響服務器的性能以及應用程序的可伸縮性。 1.6 使用 變量 對象可以用來存儲需要維護的指定對話的信息,不同的客戶端生成不同的 對象。
用于存儲特定于單獨會話的短期信息。 的使用方法和格式與 相同。
優點:易于實現,并且提供較高的安全性和持久性,可以應對IIS 重啟和輔助進程重啟,可在多進程中使用。缺點是耗用服務器端的內存。
所以不要存儲大量的信息。 最常見的用途是與 一起向Web 應用程序提供用戶標識功能,也可用于不支持 的瀏覽器。
2.數據交互方式
web數據交互方式,web數據交互,簡單的講,是與端的數據交互,通過//#=
5.客戶端與服務器進行數據交互的方法都有哪些
C/S模式和B/S各有其有點也各有其缺點,B/S模式在開發中需要考慮數據如何從客戶端提交到服務器端,數據又如何返回到客戶端,這些是B/S模式所特有的,在去年之前,開發B/S模式的程序,我都是利用form來交互數據,當我看到XML之后,發現XML是個好冬冬,有很多優點,有好的東西當然不能獨享啦,想當年為了實現XML交互數據,幾乎把網絡翻了個遍。咚,一塊磚頭上來了。呵呵,廢話少說,下面我們就進入正題。
B/S模式分為服務器端和客戶端,客戶端接受用戶的請求,客戶端向應用服務提出請求,應用服務從數據庫服務中獲得數據,應用服務將數據進行計算并將結果提交給客戶端,客戶端將結果呈現給用戶。這樣,我們就看到了數據從客戶到服務器,經過服務器的處理再返回到客戶端,由客戶端軟件(如IE)顯示結果。
(以ASP教本語言為例,其它的語言一樣哈。)
1.Form方式
Form方式是最基本的向服務器提交數據的方式。
test.asp文件代碼: