郭興華 邢健
山東省益都衛(wèi)生學(xué)校 山東 青州 262500
ASP.NET是Microsoft.net的一部分,是一款已編譯的、基于.NET的環(huán)境,可以用任何一款與.NET兼容的語言(包括Jscript.NET、C#和Visual Basic.NET)開發(fā)應(yīng)用程序,它提供基于組件、事件驅(qū)動的可編程網(wǎng)絡(luò)表單,大大簡化編程。
隨著Web應(yīng)用技術(shù)的發(fā)展,Microsoft公司推出ASP.NET3.5,強大的開發(fā)環(huán)境使得用戶創(chuàng)建Web應(yīng)用越來越容易。Visual Studio.NET 2008提供所見即所得的編輯方式,包括豐富的工具箱和設(shè)計器,并支持控件的拖放及動態(tài)配置。
ASP.NET AJAX是由微軟發(fā)布的可以使Web開發(fā)人員使用ASP.NET輕松創(chuàng)建帶有AJAX網(wǎng)站的新技術(shù),AJAX樣式的網(wǎng)頁提供豐富的用戶界面,可以立即向用戶做出響應(yīng)。ASP.NET AJAX基于瀏覽器技術(shù),使Web應(yīng)用程序的功能和用戶界面(UI),變得更加接近于桌面應(yīng)用程序[1]。
AJAX的主要思想是使Web頁可以在后臺發(fā)送HTTP請求,而不需要重新讀取整個頁面,可以持續(xù)地跟服務(wù)器交換數(shù)據(jù),從而實現(xiàn)頁面的局部刷新。每一個ASP.NET AJAX應(yīng)用程序需要使用ScriptManager服務(wù)器端控件,客戶端腳本庫動態(tài)讀入,很快就會看到相關(guān)的內(nèi)容,不僅能夠幫助瀏覽器與Web服務(wù)器之間進行通信,而且能使客戶端編程更加簡單。
Web服務(wù)是.NET框架的一個組成部分,為分布式系統(tǒng)之間的數(shù)據(jù)交換提供跨平臺的解決方案。Web服務(wù)常用于不同操作系統(tǒng)、對象模型和編程語言的數(shù)據(jù)發(fā)送和接收,也可用于向ASP.NET AJAX頁面中動態(tài)注入數(shù)據(jù),或從頁面向后端系統(tǒng)發(fā)送數(shù)據(jù)[2]。.NET Web服務(wù)使用ScriptManager控件創(chuàng)建和發(fā)起Web服務(wù)調(diào)用,在Visual Studio.NET2008中,ASP.NET AJAX中的AutoCompleteExtender控件可以調(diào)用Web服務(wù)來幫助終端用戶進行提示性查詢或錄入。
本文以在網(wǎng)頁上放置一文本框,為終端客戶提供提示性查詢和錄入為例,說明在ASP.NET AJAX頁面上創(chuàng)建和發(fā)起Web服務(wù)調(diào)用,向ASP.NET AJAX頁面動態(tài)注入數(shù)據(jù),實現(xiàn)網(wǎng)頁局部刷新和自動完成功能,提升查詢品質(zhì)。
如圖1所示,在姓名文本框中錄入姓名拼音“W”或在工作單位文本框中錄入“山”時(圖2),應(yīng)用程序(此例為findxm.asmx)將在數(shù)據(jù)庫中(此例為cj數(shù)據(jù)庫)搜索與之匹配數(shù)據(jù),并自動將其填入文本框中,供用戶候選,實現(xiàn)提示性查詢或錄入。
圖1 姓名模糊查詢
圖2 工作單位提示性錄入
本例使用SQL Server 2000數(shù)據(jù)庫系統(tǒng)和ADO.NET數(shù)據(jù)訪問技術(shù),下面是在Visual Studio.NET2008集成開發(fā)環(huán)境下,ASP.NET AJAX頁面上創(chuàng)建和發(fā)起Web服務(wù)調(diào)用的實現(xiàn)過程。
表1
1)在ASP.NET AJAX頁面中放置一個TextBox文本框,并添加AutoCompleteExtender行為。ASP.NET AJAX工具箱包含一個名為AutoCompleteExtender的控件,用于擴展文本框的現(xiàn)有功能,調(diào)用Web服務(wù)無需編寫JavaScript代碼,幫助用戶輕松地定位到要查找的數(shù)據(jù)記錄上[3]。
2)設(shè)置AutoCompleteExtender的主要屬性(表1)。設(shè)置完成后源代碼見框1。
3)編寫后臺Web服務(wù)程序(此例為findxm.asmx),根據(jù)姓名拼音檢索符合條件記錄的姓名與身份證號,主要代碼見框2。
Visual Studio.NET2008集成開發(fā)環(huán)境對AJAX有較好的支持,在構(gòu)建基于Web的信息管理系統(tǒng)時,為提高用戶錄入數(shù)據(jù)的一致性和實現(xiàn)提示性查詢,利用AJAX和Web Service功能可以大大提升查詢品質(zhì),使開發(fā)的Web應(yīng)用程序更接近于桌面應(yīng)用程序,豐富Web應(yīng)用程序的開發(fā),方便終端用戶使用。
[1]溫茨.ASP.NET AJAX編程指南[M].康學(xué)韜,等,譯.北京:機械工業(yè)出版社,2008(7)
[2]羅威.WCF服務(wù)編程[M].張逸,徐寧,譯.北京:機械工業(yè)出版社,2008(1)
[3]段輝良.ASP.NET 3.5全程指南[M].北京:電子工業(yè)出版社,2009(4)