AJAX和Web Service提升查询品质的探索与实践
2010-05-28郭兴华邢健
郭兴华 邢健
山东省益都卫生学校 山东 青州 262500
1 ASP.NET技术
ASP.NET是Microsoft.net的一部分,是一款已编译的、基于.NET的环境,可以用任何一款与.NET兼容的语言(包括Jscript.NET、C#和Visual Basic.NET)开发应用程序,它提供基于组件、事件驱动的可编程网络表单,大大简化编程。
随着Web应用技术的发展,Microsoft公司推出ASP.NET3.5,强大的开发环境使得用户创建Web应用越来越容易。Visual Studio.NET 2008提供所见即所得的编辑方式,包括丰富的工具箱和设计器,并支持控件的拖放及动态配置。
2 ASP.NET AJAX技术
ASP.NET AJAX是由微软发布的可以使Web开发人员使用ASP.NET轻松创建带有AJAX网站的新技术,AJAX样式的网页提供丰富的用户界面,可以立即向用户做出响应。ASP.NET AJAX基于浏览器技术,使Web应用程序的功能和用户界面(UI),变得更加接近于桌面应用程序[1]。
AJAX的主要思想是使Web页可以在后台发送HTTP请求,而不需要重新读取整个页面,可以持续地跟服务器交换数据,从而实现页面的局部刷新。每一个ASP.NET AJAX应用程序需要使用ScriptManager服务器端控件,客户端脚本库动态读入,很快就会看到相关的内容,不仅能够帮助浏览器与Web服务器之间进行通信,而且能使客户端编程更加简单。
3 Web服务
Web服务是.NET框架的一个组成部分,为分布式系统之间的数据交换提供跨平台的解决方案。Web服务常用于不同操作系统、对象模型和编程语言的数据发送和接收,也可用于向ASP.NET AJAX页面中动态注入数据,或从页面向后端系统发送数据[2]。.NET Web服务使用ScriptManager控件创建和发起Web服务调用,在Visual Studio.NET2008中,ASP.NET AJAX中的AutoCompleteExtender控件可以调用Web服务来帮助终端用户进行提示性查询或录入。
4 ASP.NET AJAX发起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)