亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        ASP.NET AJAX技術(shù)在人機(jī)管理系統(tǒng)中的應(yīng)用

        2010-12-31 00:00:00
        中國(guó)科技財(cái)富 2010年18期

        摘要:ASP.NET AJAX實(shí)現(xiàn)了Web頁(yè)面豐富的部分刷新效果.本文通過(guò)介紹AJAX原理,引申到ASP.NET AJAX原理,并結(jié)合人機(jī)管理系統(tǒng)實(shí)例從開(kāi)發(fā)角度進(jìn)一步闡述了Ajax技術(shù)在本系統(tǒng)中的實(shí)現(xiàn)方法及注意事項(xiàng).

        關(guān)鍵詞:ASP.NET AJAX 、Web開(kāi)發(fā)、人機(jī)管理系統(tǒng)

        1、引言

        當(dāng)前,Web技術(shù)的不斷發(fā)展使得B/S得以廣泛地應(yīng)用.但Web傳統(tǒng)的開(kāi)發(fā)技術(shù)使得網(wǎng)頁(yè)的交互性能大打折扣.隨著AJAX技術(shù)的興起,Web開(kāi)發(fā)技術(shù)超越了傳統(tǒng)的開(kāi)發(fā)模式,發(fā)生了質(zhì)的飛躍.而微軟公司推出的ASP.NET AJAX框架與ASP.NET的結(jié)合,使得Web的開(kāi)發(fā)方式在.NET環(huán)境下更加簡(jiǎn)單易用,頁(yè)面交互性能也得到很大提高.

        2、 Ajax引擎的原理

        AJAX是現(xiàn)有多種技術(shù)的綜合,使用XHTML和CSS標(biāo)準(zhǔn)化呈現(xiàn)數(shù)據(jù),使用DOM實(shí)現(xiàn)動(dòng)態(tài)顯示和交互數(shù)據(jù),使用XML和XSTL進(jìn)行數(shù)據(jù)交換與處理,使用XMLHttpRequest對(duì)象進(jìn)行異步數(shù)據(jù)讀取,使用JavaScript綁定和處理所有數(shù)據(jù).AJAX為交互操作較多、數(shù)據(jù)讀寫(xiě)頻繁和數(shù)據(jù)分類(lèi)良好的Web應(yīng)用提供了一個(gè)很好的解決方案.其中XMLHttpRequest、JavaScript和DOM是AJAX技術(shù)的核心.

        2.1 XMLHttpRequest

        XMLHttpRequest是AJAX引擎的核心技術(shù),使整個(gè)頁(yè)面無(wú)需刷新即可從服務(wù)器獲取所需數(shù)據(jù)問(wèn)題的關(guān)鍵.它在微軟IE平臺(tái)下是XMLHTTP組件的一個(gè)對(duì)象,通過(guò)允許開(kāi)發(fā)人員在Web頁(yè)面內(nèi)部使用組件擴(kuò)展自身功能,開(kāi)發(fā)人員不必從當(dāng)前的Web頁(yè)面導(dǎo)航而直接與服務(wù)器上的數(shù)據(jù)庫(kù)進(jìn)行雙向數(shù)據(jù)傳輸.該項(xiàng)功能相當(dāng)重要,它彌補(bǔ)了無(wú)狀態(tài)連接的缺點(diǎn),排除下載冗余Web數(shù)據(jù)的需要,從而提高了進(jìn)程速度.

        2.2 DOM

        DOM是給HTML和XML文件使用的一組API.它提供了文件的結(jié)構(gòu)表述,允許開(kāi)發(fā)人員改變其中的內(nèi)容,建立網(wǎng)頁(yè)與程序語(yǔ)言溝通的橋梁.所有Web開(kāi)發(fā)人員操作及建立文件的屬性、方法及事件都以對(duì)象方式來(lái)展現(xiàn),這些對(duì)象均可由當(dāng)今大多數(shù)瀏覽器以腳本取用.一個(gè)用HTML或XHTML構(gòu)建的網(wǎng)頁(yè)可看作是一組結(jié)構(gòu)化數(shù)據(jù),這些數(shù)據(jù)被封在DOM中,且DOM提供對(duì)網(wǎng)頁(yè)中各個(gè)對(duì)象的讀寫(xiě)支持.

        2.3 JavaScript

        JavaScript是一種在瀏覽器中大量使用的跨平臺(tái)編程語(yǔ)言,常被用來(lái)制作網(wǎng)頁(yè)特效或表單驗(yàn)證.它在AJAX中是XMLHttpRequest與DOM交互的橋梁以及AJAX引擎工作的主要推動(dòng)力.它通過(guò)調(diào)用XMLHttpRequest的屬性和方法獲取服務(wù)器端數(shù)據(jù),調(diào)用DOM的API更新Web頁(yè)面內(nèi)容,從而實(shí)現(xiàn)整個(gè)頁(yè)面的無(wú)刷新更新頁(yè)面的效果.

        3、AJAX架構(gòu)

        AJAX由客戶端腳本庫(kù)和服務(wù)端組件組成,這兩者被集成在一起提供了一個(gè)功能強(qiáng)大的開(kāi)發(fā)框架.客戶端腳本庫(kù)中包含兩種最熟悉的動(dòng)態(tài)網(wǎng)頁(yè)技術(shù),分別是跨瀏覽器使用的ECMAScript技術(shù)和動(dòng)態(tài)的HTML網(wǎng)頁(yè)開(kāi)發(fā)技術(shù),并且將這兩種技術(shù)集成到了ASP.NET 2.0基于服務(wù)器端的開(kāi)發(fā)平臺(tái)中.

        3.1 ASP.NET服務(wù)器端架構(gòu)

        ASP.NET服務(wù)器端組件是用于管理UI和應(yīng)用程序流,管理序列,驗(yàn)證和控件擴(kuò)展性等.此外,ASP.NET Web服務(wù)也能用于訪問(wèn)ASP.NET應(yīng)用服務(wù),包括窗體驗(yàn)證和用戶驗(yàn)證.

        3.2 ASP.NET服務(wù)器控件

        ASP.NET AJAX控件由服務(wù)器端和客戶端代碼構(gòu)成在一起以產(chǎn)生類(lèi)似于AJAX的行為.

        3.3 ASP.NET AJAX客戶端架構(gòu)

        ASP.NET AJAX客戶端腳本庫(kù)由.js文件構(gòu)件.這些.js文件提供了面向?qū)ο箝_(kāi)發(fā)的特性.這一特性使得連續(xù)性和模塊化在客戶端腳本中達(dá)到一個(gè)新的層次.

        4、ASP.NET AJAX在人機(jī)管理系統(tǒng)中的應(yīng)用

        4.1 ASP.NET AJAX控件在人機(jī)管理系統(tǒng)中的應(yīng)用

        4.1.1 ScriptManager控件

        用來(lái)處理頁(yè)面上的所有組件以及頁(yè)面局部更新,生成相關(guān)的客戶端代理腳本以便能夠在JS中訪問(wèn)Web Service,所有需要支持ASP.NET AJAX的ASP.NET頁(yè)面上有且只能有一個(gè)ScriptManager控件,如果要使用其他AJAX控件,就必須要有ScriptManager控件的支持.在ScriptManager控件中我們可以指定需要的腳本庫(kù),或者指定通過(guò)JS來(lái)調(diào)用的Web Service,還可以指定頁(yè)面錯(cuò)誤處理等.使用來(lái)定義一個(gè)ScriptManager,其定義形式是:

        在Web應(yīng)用開(kāi)發(fā)中,ScriptManager控件是必須的.要使用ASP.NET AJAX控件,每個(gè).aspx頁(yè)面上必須有且只有一個(gè)ScriptMangeger控件.值得注意的是,頁(yè)面上任何用ScriptManger控件注冊(cè)的腳本和所有事件處理腳本都必須在頁(yè)面

        元素內(nèi).否則腳本將不會(huì)被注冊(cè)或者被執(zhí)行.

        4.1.2 UpdatePanel控件

        該控件可以用來(lái)創(chuàng)建豐富的局部更新Web應(yīng)用程序,它是ASP.NET 2.0 AJAX Extensions中很重要的一個(gè)控件,其強(qiáng)大之處在于不用編寫(xiě)任何客戶端腳本,只要在一個(gè)頁(yè)面上添加幾個(gè)UpdatePanel控件和一個(gè)ScriptManager控件就可以自動(dòng)實(shí)現(xiàn)局部更新.一個(gè)頁(yè)面上可以放一個(gè)或者多個(gè)UpdatePanel控件,并且UpdatePanel控件還可以嵌套使用.UpdatePanel的工作依賴于ScriptManager服務(wù)端控件和客戶端PageRequestManager類(lèi).當(dāng)ScriptManager中允許頁(yè)面局部更新時(shí),它會(huì)以異步的方式回傳給服務(wù)器,與傳統(tǒng)的整頁(yè)回傳方式不同的是只有包含在UpdatePanel中的頁(yè)面部分會(huì)被更新,在從服務(wù)端返回HTML之后,PageRequestManager會(huì)通過(guò)操作DOM對(duì)象來(lái)替換需要更新的代碼片段.

        本系統(tǒng)中的UpdatePanel定義如下:

        ………

        定義表的樣式

        ………

        標(biāo)簽用來(lái)定義UpdatePanel的內(nèi)容,在它里面可以放任何.NET元素.屬性有兩種,其中AsyncPostBackTrigge用來(lái)指定某個(gè)服務(wù)器端控件以及其將觸發(fā)的服務(wù)器端事件作為該UpdatePanel的異步更新觸發(fā)器,它需要設(shè)置的屬性有控件ID和服務(wù)端控件的事件;PostBackTrigger用來(lái)指定在UpdatePanel中的某個(gè)服務(wù)端控件,它所引發(fā)的回送不使用異步回送,而仍然是傳統(tǒng)的整頁(yè)回送.

        4.1.3 UpdateProgress控件

        在UpdatePanel控件中的內(nèi)容進(jìn)行局部刷新時(shí),該控件可以提供刷新?tīng)顟B(tài)的信息.前文所述,一個(gè)頁(yè)面上可以放一個(gè)或者多個(gè)UpdatePanel控件,但是,當(dāng)其中一個(gè)UpdatePanel中更新的內(nèi)容很緩慢,需要用戶等待很長(zhǎng)時(shí)間時(shí),很容易讓用戶誤以為應(yīng)用程序處于”死機(jī)”狀態(tài).在這種情況下,UpdateProgress控件就發(fā)揮出它的特性,提供頁(yè)面部分內(nèi)容刷新時(shí)的狀態(tài)信息.一個(gè)頁(yè)面上,一個(gè)UpdateProgress控件可以和一個(gè)UpdataPanel控件關(guān)聯(lián),也可以和多個(gè)UpdatePanel控件關(guān)聯(lián).

        UpdateProgress控件的使用如下:

        數(shù)據(jù)正在讀取中,請(qǐng)稍后……

        5、VS2005開(kāi)發(fā)環(huán)境中使用ASP.NET AJAX控件要注意的問(wèn)題

        在利用VS2005進(jìn)行Web開(kāi)發(fā)的過(guò)程中,需要使用各種服務(wù)器控件.一般情況下,VS2005的常用控件都是可以和ASP.NET AJAX控件結(jié)合使用的.但是,以下控件與ASP.NETAJAX控件有不相兼容的地方,是需要注意的.

        5.1與UpdatePanel控件不兼容的控件

        ⑴TreeView和Menu控件;Web Parts控件;Substitution控件.

        ⑵登錄控件,如Login,PasswordRecovery,ChangePassword和CreateUserWizard控件.在默認(rèn)情況下,上述控件與UpdatePanel控件是不相兼容的.當(dāng)上述控件轉(zhuǎn)換為可編輯狀態(tài)時(shí),登錄控件中的驗(yàn)證控件便可以與UpdatePanel控件兼容.

        ⑶驗(yàn)證控件類(lèi).如RequiredFieldValidator和ValidationSummary控件.這些控件在默認(rèn)情況下也可以與UpdatePanel控件結(jié)合使用,但是在Web應(yīng)用程序發(fā)布之后,上述驗(yàn)證功能可能會(huì)出現(xiàn)失效情形.要使得這些驗(yàn)證控件能與UpdatePanel控件兼容,需要把上述驗(yàn)證類(lèi)控件的EnableClientScript屬性設(shè)置為1.這樣,就不允許客戶端腳本被用于在瀏覽器端執(zhí)行驗(yàn)證操作.在異步式提交操作中,驗(yàn)證控件就會(huì)在服務(wù)器端執(zhí)行驗(yàn)證操作.

        ⑷GridView和DetailsView控件.在默認(rèn)情況下,GridView和DetailsView控件與UpdatePanel控件可正常兼容使用.但是,如果把它們的EnableSortingAndPagingCallbacks屬性設(shè)置為T(mén)rue的時(shí)候,在UpdatePanle中的GridView和DetailsView控件的排序和分頁(yè)功能將失效.

        ⑸FileUpload控件.FileUpload控件在默認(rèn)情況下,放在UpdatePanel中并且有控件觸發(fā)時(shí),不能發(fā)揮上傳作用.但是當(dāng)UpdatePanel的Triggers屬性中,設(shè)置觸發(fā)控件(如Button,)為PostBack時(shí),F(xiàn)ileUpload可以發(fā)揮上傳功能,只是整個(gè)頁(yè)面不能局部刷新.

        5.2頁(yè)面跳轉(zhuǎn)要注意的問(wèn)題

        通常情況下,開(kāi)發(fā)Web應(yīng)用程序就必然會(huì)有頁(yè)面之間的傳值與跳轉(zhuǎn).如果UpdatePanel內(nèi)有觸發(fā)頁(yè)面跳轉(zhuǎn)的控件(如Button),那么該控件的事件中就不能用如下的語(yǔ)句,否則會(huì)彈出異常的對(duì)話框.

        5.3利用AJAX控件后,彈出對(duì)話框的問(wèn)題

        在使用AJAX控件后,如果想利用Js腳本來(lái)輸出一些提示對(duì)話框,往往會(huì)想到利用Page.RegisterClientScriptBlock或者Page.RegisterStartupScript注冊(cè),但是,頁(yè)面上仍然沒(méi)有提示信息.利用如下語(yǔ)句即可以解決這個(gè)問(wèn)題:

        ScriptManager.RegisterClientScriptBlock(UpdatePanel1,this.GetType(),\"click\",\"alert('提示信息')\",true);就可以正常的彈出alert對(duì)話框了.需要注意的是,如果在頁(yè)面中有多個(gè)UpdatePanel,如果每個(gè)UpdatePanel的UpdateMode的屬性值都是”always”,則可以使用那個(gè)UpdatePanel的實(shí)例作為參數(shù);如果每個(gè)UpdaePanel的UpdateMode屬性值為conditional,那么就必須使用正在更新的那個(gè)UpdatePanel作為參數(shù),這樣腳本才能起作用.

        6小結(jié)

        通過(guò)使用Ajax技術(shù)開(kāi)發(fā)B/S架構(gòu)下的Web應(yīng)用系統(tǒng),能夠縮短Web應(yīng)用系統(tǒng)的數(shù)據(jù)處理響應(yīng)時(shí)間,提高系統(tǒng)處理業(yè)務(wù)的效率,進(jìn)一步提升應(yīng)用系統(tǒng)的實(shí)用性、高效性,充分發(fā)揮Web應(yīng)用的優(yōu)勢(shì),最終達(dá)到提高企業(yè)信息化管理水平、促進(jìn)企業(yè)信息化發(fā)展的目的.

        參考文獻(xiàn)

        [1](美)阿斯利森,(美)舒塔著;金靈,等譯.Ajax基礎(chǔ)教程[M].北京:人民郵電出版社,2006.

        [2]施偉偉,張蓓.征服Ajax Web2.0快速入門(mén)與項(xiàng)目實(shí)踐(.NET) [M].北京:人民郵電出版社,2006.

        作者簡(jiǎn)介:

        閆晗,女,黑龍江省大慶市人,大慶油田有限責(zé)任公司第二采油廠信息中心干事,助理工程師,從事軟件開(kāi)發(fā)工作.

        亚洲人成人77777网站| 在线播放草猛免费视频| аⅴ天堂中文在线网| 中国人妻被两个老外三p| 国产精品入口牛牛影视| 极品粉嫩小仙女高潮喷水视频| 国产成人亚洲系列毛片| 亚洲成av人在线观看网址| 国产精品jizz在线观看老狼| 欧美成人免费看片一区| 亚洲av第二区国产精品| 国产亚洲精品综合一区| 久久国产精品-国产精品| 无遮挡中文毛片免费观看| 日本顶级片一区二区三区| 无码人妻丰满熟妇区免费| 明星性猛交ⅹxxx乱大交| 人妻无码AⅤ不卡中文字幕| 久久精品国产亚洲av热东京热| 久久精品丝袜高跟鞋| 成人精品综合免费视频| 91精品91久久久久久| 91精品国产九色综合久久香蕉| 性按摩xxxx在线观看| 人禽无码视频在线观看| 亚洲青青草视频在线播放| 日本一区二区视频在线| 337p西西人体大胆瓣开下部| 专区亚洲欧洲日产国码AV | 亚洲av无码一区二区二三区下载| 自拍视频国产在线观看| 极品粉嫩小仙女高潮喷水操av| 国产在线观看无码免费视频 | 在线亚洲AV不卡一区二区| 91l视频免费在线观看| 欧美色欧美亚洲另类二区| 国产精品18禁久久久久久久久| 色婷婷一区二区三区77| 99久久久无码国产精品性| 亚洲国产精品久久久久秋霞1| 亚洲国产免费公开在线视频|