1. <td id="dzoci"></td>
          <style id="dzoci"></style>
      2. 濟(jì)寧果殼科技專業(yè)軟件開(kāi)發(fā)團(tuán)隊(duì),提供全方位的互聯(lián)網(wǎng)服務(wù)!
        座機(jī):15563775221 手機(jī):15563775221(微信)

        熱門標(biāo)簽

        1. 首頁(yè)
        2. 果殼學(xué)院
        3. 小程序開(kāi)發(fā)
        4. Asp.net 頁(yè)面?zhèn)髦捣绞絽R總
        Asp.net 頁(yè)面?zhèn)髦捣绞絽R總

        Asp.net 頁(yè)面?zhèn)髦捣绞絽R總

        本文介紹在本頁(yè)面?zhèn)髦岛涂漤?yè)面?zhèn)髦档母鞣N方法

        濟(jì)寧果殼科技

        2017-04-28 18:02:12

        0

        2337

        前兩個(gè)只能在本頁(yè)傳值,后面的可以實(shí)現(xiàn)跨頁(yè)面?zhèn)髦怠?

        1 利用隱藏域
        在頁(yè)面中加入一個(gè)隱藏控件, 與服務(wù)器進(jìn)行交互時(shí)把值賦給隱藏控件并提交給下一頁(yè)面。使用隱藏域存入數(shù)值時(shí)用:hidden 控件.value=數(shù)值,取出接收數(shù)值時(shí)用:變量=hidden 控件.value。使用隱藏域的優(yōu)點(diǎn)是實(shí)現(xiàn)簡(jiǎn)單, 隱藏域是標(biāo)準(zhǔn)的HTML 控件,不需要復(fù)雜的編程邏輯。隱藏域在頁(yè)上存儲(chǔ)和讀取,不需要任何服務(wù)器資源,幾乎所有瀏覽器和客戶端設(shè)備都支持具有隱藏域的窗體。缺點(diǎn)是僅僅支持簡(jiǎn)單的數(shù)據(jù)結(jié)構(gòu),存儲(chǔ)量少。

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

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

        4 使用Cookie
        Cookie 可以在頁(yè)面之間傳遞少量信息, 可以存儲(chǔ)在客戶端的文本文件中,也可存儲(chǔ)在客戶端的內(nèi)存中。Cookie 方法適用于存儲(chǔ)少量頁(yè)面中經(jīng)常改動(dòng)的信息, 如為登陸過(guò)的網(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)簡(jiǎn)單,可配置到期時(shí)間。缺點(diǎn)是:可以存儲(chǔ)的數(shù)據(jù)量比較少,由于Cookie 并不被所有的瀏覽器支持,而且還可能被用戶禁止或刪除,所以不能用于保存關(guān)鍵數(shù)據(jù)。另外,Cookie 保存的形式是簡(jiǎn)單的明文文本,在它里面不宜保存敏感的、未加密的數(shù)據(jù)。

        5 使用Application 變量
        使用Application 變量也可以實(shí)現(xiàn)頁(yè)面間的傳值,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)用程序中的所有頁(yè)來(lái)訪問(wèn)。缺點(diǎn):若保存數(shù)據(jù)的服務(wù)器端進(jìn)程被損壞(如因服務(wù)器崩潰、升級(jí)或關(guān)閉而損壞),那么數(shù)據(jù)就會(huì)丟失,所以利用Application 一定要有保底的策略;占用服務(wù)器端的內(nèi)存,這可能會(huì)影響服務(wù)器的性能以及應(yīng)用程序的可伸縮性。

        6 使用Session 變量
        Session 對(duì)象可以用來(lái)存儲(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 最常見(jiàn)的用途是與Cookie 一起向Web 應(yīng)用程序提供用戶標(biāo)識(shí)功能,Session也可用于不支持Cookie 的瀏覽器。但是,使用無(wú)Cookie 的Session 需要將會(huì)話標(biāo)識(shí)符放置在查詢字符串中,同樣會(huì)遇到本文在查詢字符串一節(jié)中陳述的安全問(wèn)題。

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

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

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

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

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

        定制首選 果殼科技 咨詢熱線:0537-2551991

        關(guān)閉咨詢框
        国产交换配偶在线视频,豆国产97在线 | 亚洲,亚洲国产第一福利一区二区,在线视频免费国产午夜 国产在线不卡每日更新福利 国产无码一二三专区

            1. <td id="dzoci"></td>
                <style id="dzoci"></style>