介绍尽管AJAX是种客户端技术,但实际上的开发过程,它经常要调用一个服务器端的过程.通常,网站上的数据是存放在一个关系型数据库中,为了让AJAX更有用处,处理服务器端数据需要一种简单可靠的方法.幸运的是,ASP.
NETAJAX提供了一种有效的基础架构来做这件事情,浏览器和服务器在Internet上可以进行AJAX
通信.自然而然,WebService在数据传输和客户端/服务器之间的一般通信方面可以扮演一个重要角色.本文就演示了如果通过ASP.NETAJAX调用ASP.NET
webservices.
软件需求本文所有的范例都是使用ASP.NETAJAXRC版,而且,要在SQLServer2005(Express版即可)上有一个Northwind数据库.范例使用VisualStudio2005作为开发环境.
范例场景范例开发了一个Web页面,用于输入Northwind数据库职员表中的职员数据.页面通过ASP.NETAJAX功能,调用一个WebService来完成职员表中的数据增,删,改,查.
创建一个WebService作为开始,使用VisualStudio2005创建一个新的Web站点,注意把ASP.NETAJAX项目模板添加到新站点对话框,这个对话框包括一个"ASP.NETAJAXEnabledWebSite"模板.
图1:新站点创建模板使用"ASP.NETAJAXEnabledWebSite"模板创建的新站点和用普通方法创建的站点区别如下:它的Web.config自动包括许多ASP.NETAJAX专用的配置信息.
System.Web.Extensions
程序集被添加到引用中.当然,我们可以更改一个普通的Web站点,以使之符合AJAX要求,但模板可以大大简化我们的
工作.现在我们创建了一个新的Web站点,添加一个新的webservice并命名为EmployeeService.asmx,EmployeeService将包括5个Web方法MethodNameGetEmployees()GetEmployee()Insert()Update()Delete()表1:EmployeeService中的Web方法GetEmployees()和GetEmployee()方法以Employee对象的形式返回数据,因此,首先创建一个Employee类.右键单击App_Code文件夹,选择"添加新项…",添加一个叫Employee的类,下面显示Employee类的全部代码:
publicclassEmployee{privateintintEmployeeID;privatestringstrFirstName;privatestringstrLastName;publicintEmployeeID{get{returnintEmployeeID;}set{intEmployeeID=value;}}publicstringFirstName{get
Description返回Employees表里的雇员
列表.这个列表是一个Employee对象数组接收EmployeeID参数返回Employee对象的详细信息给Employees表里增加一个新的雇员信息更新Employees表里的某个雇员信息删除Employees表里的某个雇员信息
{returnstrFirstName;}set{strFirstName=value;}}publicstringLastName{get{returnstrLastName;}set{strLastName=value;}}}
Employee类申明三个Private变量来分别存放employeeID,firstname和lastname,三个变量再封装在三个public属性中:EmployeeID,FirstName和LastName.打开web.config文件,添加
部分如下:
这部分存放数据库链接字符串,用于指向Northwind数据库,确保修改SqlServer名称,IP地址以及验证方式以和我们的开发环境相符.现在,打开EmployeeService.cs添加如下代码:
privatestringstrConn=publicEmployeeService()"";
{strConn=ConfigurationManager.ConnectionStrings["connstr"].ConnectionString;}