• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于ASP.NET頁(yè)面的參數(shù)傳遞的幾種方法

      2012-08-06 02:34:56武春友
      關(guān)鍵詞:清華大學(xué)出版社表單控件

      武春友,林 勇

      (安徽廣播影視職業(yè)技術(shù)學(xué)院,安徽 合肥 230011)

      1 引言

      在使用ASP.NET開(kāi)發(fā)Web頁(yè)面時(shí),經(jīng)常需要在不同的頁(yè)面之間共享數(shù)據(jù),而這些數(shù)據(jù)又是如何實(shí)現(xiàn)在不同的頁(yè)面之間進(jìn)行共享的呢?這些往往都是通過(guò)在不同的頁(yè)面之間傳遞參數(shù)來(lái)實(shí)現(xiàn)的.

      頁(yè)面之間的參數(shù)傳遞的方法有很多,下面我們將介紹幾個(gè)典型的方法,并比較它們各自的優(yōu)缺點(diǎn).

      2 方法及實(shí)現(xiàn)

      2.1 使用QueryString

      使用查詢字符串在頁(yè)面之間傳遞參數(shù)是一個(gè)很傳統(tǒng)的方法,主要步驟如下:

      (1)使用控件創(chuàng)建Web表單(Form)

      (2)創(chuàng)建可以返回表單的按鈕和鏈接按鈕

      (3)在按鈕或鏈接按鈕的單擊事件里創(chuàng)建一個(gè)保存URL的字符變量

      (4)在保存的URL里添加QueryString參數(shù)

      (5)使用Response.Redirect()重定向到上面保存的URL頁(yè)面

      下面的代碼及圖1和圖2演示了這種方法的實(shí)現(xiàn):

      源頁(yè)面代碼(Default.aspx.cs):

      圖1 源頁(yè)面

      圖2 目標(biāo)頁(yè)面

      2.2 使用Server.Transfer

      這個(gè)方法比QueryString稍微復(fù)雜一些,需要額外寫(xiě)一些代碼以創(chuàng)建一些屬性以便可以在另一個(gè)頁(yè)面訪問(wèn)它,整個(gè)過(guò)程如下:

      (1)在頁(yè)面里添加必要的控件

      (2)創(chuàng)建返回值的Get屬性過(guò)程

      (3)創(chuàng)建可以返回表單的按鈕和鏈接按鈕

      (4)在按鈕單擊事件處理程序中調(diào)用Server.Transfer()方法轉(zhuǎn)移到指定的頁(yè)面

      (5)在第二個(gè)頁(yè)面中,我們就可以使用Context.Handler屬性來(lái)獲得前一個(gè)頁(yè)面實(shí)例對(duì)象的引用,通過(guò)它,就可以使用存取前一個(gè)頁(yè)面的控件的值了.

      源頁(yè)面代碼(Default.aspx.cs):

      2.3 使用Session變量

      使用Session變量是在頁(yè)面間傳遞值的的另一種方式,我們把控件中的值存在Session變量中,然后在另一個(gè)頁(yè)面中使用它,以達(dá)到在不同頁(yè)面間實(shí)現(xiàn)值傳遞的目的,整個(gè)過(guò)程如下:

      (1)在頁(yè)面里添加必要的控件

      (2)創(chuàng)建可以返回表單的按鈕和鏈接按鈕

      (3)在按鈕或鏈接按鈕的單擊事件里,把控件的值添加到session變量里

      (4)使用Response.Redirect方法重定向到另一個(gè)頁(yè)面

      (5)在另一個(gè)頁(yè)面提取session的值,在確定不需要使用該session時(shí),要顯式清除它

      源頁(yè)面代碼(Default.aspx.cs):

      3 幾種方法的比較

      本文所介紹的幾種在頁(yè)面之間傳遞參數(shù)的方法,非常實(shí)用,是我們?cè)谠O(shè)計(jì)開(kāi)發(fā)Web頁(yè)面時(shí)經(jīng)常采用的方法,它們各有各的特點(diǎn),應(yīng)用的場(chǎng)合也不盡相同,都有各自的優(yōu)勢(shì)和不足,下面我們分別闡述一下:

      (1)使用QuerySting的主要優(yōu)點(diǎn)是實(shí)現(xiàn)起來(lái)非常簡(jiǎn)單,而它的缺點(diǎn)是傳遞的值是會(huì)顯示在瀏覽器的地址欄上的,這就存在一個(gè)安全問(wèn)題,同時(shí)又不能傳遞對(duì)象.它比較適用于傳遞的值少而安全性要求不高的場(chǎng)合.

      (2)使用Server.Transfer,實(shí)現(xiàn)起來(lái)比較復(fù)雜一點(diǎn),初學(xué)者難以掌握,但是,這個(gè)方式帶來(lái)的好處也是顯而易見(jiàn)的.總體來(lái)說(shuō),使用這種方法既高效,同時(shí)又是面向?qū)ο蟮?

      (3)使用Session變量存儲(chǔ)過(guò)多的數(shù)據(jù)會(huì)消耗比較多的服務(wù)器資源,因此,在使用Session時(shí)應(yīng)該慎重.我們也應(yīng)該使用一些清理動(dòng)作來(lái)去除一些不需要的Session變量來(lái)降低資源的無(wú)謂消耗.

      4 結(jié)束語(yǔ)

      基于ASP.NET頁(yè)面的參數(shù)傳遞的方法除了本文所介紹的三種方法之外,還有一些其他的方法,當(dāng)然,這三種方法是最常用的方法,其他的很多方法要么是以上介紹的方法的變體,要么是將這三種方法結(jié)合在一起,基本原理都是相似的,希望讀者能夠結(jié)合應(yīng)用的實(shí)際需要,選擇合適的參數(shù)傳遞的方法,設(shè)計(jì)出性能和安全性都能夠滿足要求的ASP.NET頁(yè)面.

      〔1〕Christian Nagel,Bill Evjen,Jay Glynn.C# 高 級(jí) 編 程[M].北京:清華大學(xué)出版社,2008.

      〔2〕Chris U llman,Chris Goode.ASP.NET 入門(mén)經(jīng)典[M].北京:清華大學(xué)出版社,2002.

      〔3〕Karli W atson, Christian Nagel etc. C# 入門(mén)經(jīng)典[M].北京:清華大學(xué)出版社.

      猜你喜歡
      清華大學(xué)出版社表單控件
      電子表單系統(tǒng)應(yīng)用分析
      華東科技(2021年9期)2021-09-23 02:15:24
      清華大學(xué)出版社期刊中心
      關(guān)于.net控件數(shù)組的探討
      軟件(2018年7期)2018-08-13 09:44:42
      Desperate Love towards the Dark Lady in Shakespeare’s Sonnets
      世界家苑(2018年4期)2018-05-21 08:56:20
      淺談網(wǎng)頁(yè)制作中表單的教學(xué)
      《秘書(shū)工作手記》
      決策(2017年5期)2017-06-21 16:58:25
      Translation and Dissemination of Critique of the Gotha Program in China in the Early Times〔* 〕
      基于Infopath實(shí)現(xiàn)WEB動(dòng)態(tài)表單的研究
      電子世界(2012年24期)2012-12-17 10:49:06
      動(dòng)態(tài)表單技術(shù)在教學(xué)管理中的應(yīng)用*
      就這樣玩會(huì)VBA中常見(jiàn)的自定義控件
      電腦迷(2012年24期)2012-04-29 00:44:03
      尉氏县| 四子王旗| 遵义市| 简阳市| 延安市| 西城区| 融水| 灵川县| 庄河市| 天镇县| 丰原市| 清水河县| 堆龙德庆县| 霍城县| 通渭县| 泸州市| 裕民县| 镇坪县| 平和县| 元谋县| 博客| 西盟| 佛教| 海原县| 龙江县| 浦江县| 周至县| 霍山县| 绥滨县| 安乡县| 新和县| 夹江县| 巴马| 响水县| 三亚市| 云和县| 石河子市| 大港区| 东兰县| 进贤县| 北京市|