郭興華 邢健
山東省益都衛生學校 山東 青州 262500
ASP.NET是Microsoft.net的一部分,是一款已編譯的、基于.NET的環境,可以用任何一款與.NET兼容的語言(包括Jscript.NET、C#和Visual Basic.NET)開發應用程序,它提供基于組件、事件驅動的可編程網絡表單,大大簡化編程。
隨著Web應用技術的發展,Microsoft公司推出ASP.NET3.5,強大的開發環境使得用戶創建Web應用越來越容易。Visual Studio.NET 2008提供所見即所得的編輯方式,包括豐富的工具箱和設計器,并支持控件的拖放及動態配置。
ASP.NET AJAX是由微軟發布的可以使Web開發人員使用ASP.NET輕松創建帶有AJAX網站的新技術,AJAX樣式的網頁提供豐富的用戶界面,可以立即向用戶做出響應。ASP.NET AJAX基于瀏覽器技術,使Web應用程序的功能和用戶界面(UI),變得更加接近于桌面應用程序[1]。
AJAX的主要思想是使Web頁可以在后臺發送HTTP請求,而不需要重新讀取整個頁面,可以持續地跟服務器交換數據,從而實現頁面的局部刷新。每一個ASP.NET AJAX應用程序需要使用ScriptManager服務器端控件,客戶端腳本庫動態讀入,很快就會看到相關的內容,不僅能夠幫助瀏覽器與Web服務器之間進行通信,而且能使客戶端編程更加簡單。
Web服務是.NET框架的一個組成部分,為分布式系統之間的數據交換提供跨平臺的解決方案。Web服務常用于不同操作系統、對象模型和編程語言的數據發送和接收,也可用于向ASP.NET AJAX頁面中動態注入數據,或從頁面向后端系統發送數據[2]。.NET Web服務使用ScriptManager控件創建和發起Web服務調用,在Visual Studio.NET2008中,ASP.NET AJAX中的AutoCompleteExtender控件可以調用Web服務來幫助終端用戶進行提示性查詢或錄入。
本文以在網頁上放置一文本框,為終端客戶提供提示性查詢和錄入為例,說明在ASP.NET AJAX頁面上創建和發起Web服務調用,向ASP.NET AJAX頁面動態注入數據,實現網頁局部刷新和自動完成功能,提升查詢品質。
如圖1所示,在姓名文本框中錄入姓名拼音“W”或在工作單位文本框中錄入“山”時(圖2),應用程序(此例為findxm.asmx)將在數據庫中(此例為cj數據庫)搜索與之匹配數據,并自動將其填入文本框中,供用戶候選,實現提示性查詢或錄入。

圖1 姓名模糊查詢

圖2 工作單位提示性錄入
本例使用SQL Server 2000數據庫系統和ADO.NET數據訪問技術,下面是在Visual Studio.NET2008集成開發環境下,ASP.NET AJAX頁面上創建和發起Web服務調用的實現過程。



表1
1)在ASP.NET AJAX頁面中放置一個TextBox文本框,并添加AutoCompleteExtender行為。ASP.NET AJAX工具箱包含一個名為AutoCompleteExtender的控件,用于擴展文本框的現有功能,調用Web服務無需編寫JavaScript代碼,幫助用戶輕松地定位到要查找的數據記錄上[3]。
2)設置AutoCompleteExtender的主要屬性(表1)。設置完成后源代碼見框1。
3)編寫后臺Web服務程序(此例為findxm.asmx),根據姓名拼音檢索符合條件記錄的姓名與身份證號,主要代碼見框2。
Visual Studio.NET2008集成開發環境對AJAX有較好的支持,在構建基于Web的信息管理系統時,為提高用戶錄入數據的一致性和實現提示性查詢,利用AJAX和Web Service功能可以大大提升查詢品質,使開發的Web應用程序更接近于桌面應用程序,豐富Web應用程序的開發,方便終端用戶使用。
[1]溫茨.ASP.NET AJAX編程指南[M].康學韜,等,譯.北京:機械工業出版社,2008(7)
[2]羅威.WCF服務編程[M].張逸,徐寧,譯.北京:機械工業出版社,2008(1)
[3]段輝良.ASP.NET 3.5全程指南[M].北京:電子工業出版社,2009(4)