999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

ASP.NET AJAX技術在人機管理系統中的應用

2010-12-31 00:00:00
中國科技財富 2010年18期

摘要:ASP.NET AJAX實現了Web頁面豐富的部分刷新效果.本文通過介紹AJAX原理,引申到ASP.NET AJAX原理,并結合人機管理系統實例從開發角度進一步闡述了Ajax技術在本系統中的實現方法及注意事項.

關鍵詞:ASP.NET AJAX 、Web開發、人機管理系統

1、引言

當前,Web技術的不斷發展使得B/S得以廣泛地應用.但Web傳統的開發技術使得網頁的交互性能大打折扣.隨著AJAX技術的興起,Web開發技術超越了傳統的開發模式,發生了質的飛躍.而微軟公司推出的ASP.NET AJAX框架與ASP.NET的結合,使得Web的開發方式在.NET環境下更加簡單易用,頁面交互性能也得到很大提高.

2、 Ajax引擎的原理

AJAX是現有多種技術的綜合,使用XHTML和CSS標準化呈現數據,使用DOM實現動態顯示和交互數據,使用XML和XSTL進行數據交換與處理,使用XMLHttpRequest對象進行異步數據讀取,使用JavaScript綁定和處理所有數據.AJAX為交互操作較多、數據讀寫頻繁和數據分類良好的Web應用提供了一個很好的解決方案.其中XMLHttpRequest、JavaScript和DOM是AJAX技術的核心.

2.1 XMLHttpRequest

XMLHttpRequest是AJAX引擎的核心技術,使整個頁面無需刷新即可從服務器獲取所需數據問題的關鍵.它在微軟IE平臺下是XMLHTTP組件的一個對象,通過允許開發人員在Web頁面內部使用組件擴展自身功能,開發人員不必從當前的Web頁面導航而直接與服務器上的數據庫進行雙向數據傳輸.該項功能相當重要,它彌補了無狀態連接的缺點,排除下載冗余Web數據的需要,從而提高了進程速度.

2.2 DOM

DOM是給HTML和XML文件使用的一組API.它提供了文件的結構表述,允許開發人員改變其中的內容,建立網頁與程序語言溝通的橋梁.所有Web開發人員操作及建立文件的屬性、方法及事件都以對象方式來展現,這些對象均可由當今大多數瀏覽器以腳本取用.一個用HTML或XHTML構建的網頁可看作是一組結構化數據,這些數據被封在DOM中,且DOM提供對網頁中各個對象的讀寫支持.

2.3 JavaScript

JavaScript是一種在瀏覽器中大量使用的跨平臺編程語言,常被用來制作網頁特效或表單驗證.它在AJAX中是XMLHttpRequest與DOM交互的橋梁以及AJAX引擎工作的主要推動力.它通過調用XMLHttpRequest的屬性和方法獲取服務器端數據,調用DOM的API更新Web頁面內容,從而實現整個頁面的無刷新更新頁面的效果.

3、AJAX架構

AJAX由客戶端腳本庫和服務端組件組成,這兩者被集成在一起提供了一個功能強大的開發框架.客戶端腳本庫中包含兩種最熟悉的動態網頁技術,分別是跨瀏覽器使用的ECMAScript技術和動態的HTML網頁開發技術,并且將這兩種技術集成到了ASP.NET 2.0基于服務器端的開發平臺中.

3.1 ASP.NET服務器端架構

ASP.NET服務器端組件是用于管理UI和應用程序流,管理序列,驗證和控件擴展性等.此外,ASP.NET Web服務也能用于訪問ASP.NET應用服務,包括窗體驗證和用戶驗證.

3.2 ASP.NET服務器控件

ASP.NET AJAX控件由服務器端和客戶端代碼構成在一起以產生類似于AJAX的行為.

3.3 ASP.NET AJAX客戶端架構

ASP.NET AJAX客戶端腳本庫由.js文件構件.這些.js文件提供了面向對象開發的特性.這一特性使得連續性和模塊化在客戶端腳本中達到一個新的層次.

4、ASP.NET AJAX在人機管理系統中的應用

4.1 ASP.NET AJAX控件在人機管理系統中的應用

4.1.1 ScriptManager控件

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

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

元素內.否則腳本將不會被注冊或者被執行.

4.1.2 UpdatePanel控件

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

本系統中的UpdatePanel定義如下:

………

定義表的樣式

………

標簽用來定義UpdatePanel的內容,在它里面可以放任何.NET元素.屬性有兩種,其中AsyncPostBackTrigge用來指定某個服務器端控件以及其將觸發的服務器端事件作為該UpdatePanel的異步更新觸發器,它需要設置的屬性有控件ID和服務端控件的事件;PostBackTrigger用來指定在UpdatePanel中的某個服務端控件,它所引發的回送不使用異步回送,而仍然是傳統的整頁回送.

4.1.3 UpdateProgress控件

在UpdatePanel控件中的內容進行局部刷新時,該控件可以提供刷新狀態的信息.前文所述,一個頁面上可以放一個或者多個UpdatePanel控件,但是,當其中一個UpdatePanel中更新的內容很緩慢,需要用戶等待很長時間時,很容易讓用戶誤以為應用程序處于”死機”狀態.在這種情況下,UpdateProgress控件就發揮出它的特性,提供頁面部分內容刷新時的狀態信息.一個頁面上,一個UpdateProgress控件可以和一個UpdataPanel控件關聯,也可以和多個UpdatePanel控件關聯.

UpdateProgress控件的使用如下:

數據正在讀取中,請稍后……

5、VS2005開發環境中使用ASP.NET AJAX控件要注意的問題

在利用VS2005進行Web開發的過程中,需要使用各種服務器控件.一般情況下,VS2005的常用控件都是可以和ASP.NET AJAX控件結合使用的.但是,以下控件與ASP.NETAJAX控件有不相兼容的地方,是需要注意的.

5.1與UpdatePanel控件不兼容的控件

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

⑵登錄控件,如Login,PasswordRecovery,ChangePassword和CreateUserWizard控件.在默認情況下,上述控件與UpdatePanel控件是不相兼容的.當上述控件轉換為可編輯狀態時,登錄控件中的驗證控件便可以與UpdatePanel控件兼容.

⑶驗證控件類.如RequiredFieldValidator和ValidationSummary控件.這些控件在默認情況下也可以與UpdatePanel控件結合使用,但是在Web應用程序發布之后,上述驗證功能可能會出現失效情形.要使得這些驗證控件能與UpdatePanel控件兼容,需要把上述驗證類控件的EnableClientScript屬性設置為1.這樣,就不允許客戶端腳本被用于在瀏覽器端執行驗證操作.在異步式提交操作中,驗證控件就會在服務器端執行驗證操作.

⑷GridView和DetailsView控件.在默認情況下,GridView和DetailsView控件與UpdatePanel控件可正常兼容使用.但是,如果把它們的EnableSortingAndPagingCallbacks屬性設置為True的時候,在UpdatePanle中的GridView和DetailsView控件的排序和分頁功能將失效.

⑸FileUpload控件.FileUpload控件在默認情況下,放在UpdatePanel中并且有控件觸發時,不能發揮上傳作用.但是當UpdatePanel的Triggers屬性中,設置觸發控件(如Button,)為PostBack時,FileUpload可以發揮上傳功能,只是整個頁面不能局部刷新.

5.2頁面跳轉要注意的問題

通常情況下,開發Web應用程序就必然會有頁面之間的傳值與跳轉.如果UpdatePanel內有觸發頁面跳轉的控件(如Button),那么該控件的事件中就不能用如下的語句,否則會彈出異常的對話框.

5.3利用AJAX控件后,彈出對話框的問題

在使用AJAX控件后,如果想利用Js腳本來輸出一些提示對話框,往往會想到利用Page.RegisterClientScriptBlock或者Page.RegisterStartupScript注冊,但是,頁面上仍然沒有提示信息.利用如下語句即可以解決這個問題:

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

6小結

通過使用Ajax技術開發B/S架構下的Web應用系統,能夠縮短Web應用系統的數據處理響應時間,提高系統處理業務的效率,進一步提升應用系統的實用性、高效性,充分發揮Web應用的優勢,最終達到提高企業信息化管理水平、促進企業信息化發展的目的.

參考文獻

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

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

作者簡介:

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

主站蜘蛛池模板: 99re热精品视频中文字幕不卡| 亚洲中文无码av永久伊人| 亚洲成人动漫在线观看 | 99精品久久精品| a毛片在线播放| 国产欧美在线视频免费| 在线人成精品免费视频| 欧美一级夜夜爽| 国产a v无码专区亚洲av| 欧美午夜视频| 亚洲伊人久久精品影院| 国产极品嫩模在线观看91| 国产日本视频91| 国产精品久久久久久久久| 色综合婷婷| 无码国产偷倩在线播放老年人 | 日本成人一区| 日本道综合一本久久久88| 国产免费久久精品99re不卡| 国产福利微拍精品一区二区| 一区二区在线视频免费观看| 无码福利日韩神码福利片| 日韩无码精品人妻| 亚洲永久免费网站| 狠狠色成人综合首页| vvvv98国产成人综合青青| 国产精品99r8在线观看| 老司机午夜精品网站在线观看 | 中文字幕永久视频| 性视频久久| 亚洲精品成人福利在线电影| 国产精品久久久免费视频| 91国内外精品自在线播放| 不卡视频国产| 亚洲欧美日韩综合二区三区| 狠狠色丁香婷婷| 国产无遮挡裸体免费视频| 新SSS无码手机在线观看| 熟女日韩精品2区| 久青草网站| 国产欧美在线视频免费| 亚洲无线国产观看| 亚洲欧洲日本在线| 久热精品免费| 这里只有精品在线播放| 亚洲欧洲自拍拍偷午夜色| 亚洲成人精品久久| 中文字幕伦视频| 日韩成人午夜| 亚洲an第二区国产精品| 国产精品美女免费视频大全| 国产在线观看第二页| 午夜在线不卡| 日韩欧美中文字幕在线精品| 国产精品嫩草影院av| 伊人激情综合网| 在线欧美日韩| 欧美中文一区| 成人午夜久久| 影音先锋丝袜制服| 欧美亚洲一区二区三区导航| 手机看片1024久久精品你懂的| 国产日韩欧美在线视频免费观看| 成人国产一区二区三区| 91视频首页| 全午夜免费一级毛片| 国产国产人成免费视频77777 | 91精品亚洲| 99尹人香蕉国产免费天天拍| 亚洲精品制服丝袜二区| 国产91精品调教在线播放| 波多野结衣视频一区二区| 国产精品一区二区不卡的视频| 欧美成人A视频| 熟女日韩精品2区| 日本精品一在线观看视频| 欧美成人A视频| 国产欧美日韩精品综合在线| 99视频在线看| 亚洲有码在线播放| 亚洲一区二区三区在线视频| 欧美区一区|