ASP.NET 2.0 AJAX中能够在客户端js中很方便地调用服务器Webservice,以下为一些调用的示例。笔者安装的ASP.NET 2.0 AJAX

版本为AJAX November CTP

三个示例分别为:
1 带参数的WS方法
2 不带参数的WS方法
3 参数类型为DataTable的WS方法

一、WebMethod
注意要点:
1 WebMethod类需要添加命名空间 Microsoft.Web.Script.Services,此空间需要引用Microsoft.Web.Preview.dll
2 类声明加入标签 [ScriptService]
3 在Asp.net 2.0里可以直接用DataTable作为返回类型了,但是需要在Web.config文件添加序列化转换器的属性。DataSet、DataTable、DataRow均有转换器

ASP.NET 2.0 AJAX中Webservice调用方法示例  <system.web.extensions>
ASP.NET 2.0 AJAX中Webservice调用方法示例    
<scripting>
ASP.NET 2.0 AJAX中Webservice调用方法示例      
<webServices>
ASP.NET 2.0 AJAX中Webservice调用方法示例        
<jsonSerialization>
ASP.NET 2.0 AJAX中Webservice调用方法示例          
<converters>
ASP.NET 2.0 AJAX中Webservice调用方法示例            
<add name="DataSetConverter" type="Microsoft.Web.Preview.Script.Serialization.Converters.DataSetConverter, Microsoft.Web.Preview"/>
ASP.NET 2.0 AJAX中Webservice调用方法示例            
<add name="DataRowConverter" type="Microsoft.Web.Preview.Script.Serialization.Converters.DataRowConverter, Microsoft.Web.Preview"/>
ASP.NET 2.0 AJAX中Webservice调用方法示例            
<add name="DataTableConverter" type="Microsoft.Web.Preview.Script.Serialization.Converters.DataTableConverter, Microsoft.Web.Preview"/>
ASP.NET 2.0 AJAX中Webservice调用方法示例          
</converters>
ASP.NET 2.0 AJAX中Webservice调用方法示例        
</jsonSerialization>
ASP.NET 2.0 AJAX中Webservice调用方法示例      
</webServices>
ASP.NET 2.0 AJAX中Webservice调用方法示例    
</scripting>
ASP.NET 2.0 AJAX中Webservice调用方法示例  
</system.web.extensions>

WEB服务1:WS1

ASP.NET 2.0 AJAX中Webservice调用方法示例using System;
ASP.NET 2.0 AJAX中Webservice调用方法示例
using System.Web;
ASP.NET 2.0 AJAX中Webservice调用方法示例
using System.Collections;
ASP.NET 2.0 AJAX中Webservice调用方法示例
using System.Web.Services;
ASP.NET 2.0 AJAX中Webservice调用方法示例
using System.Web.Services.Protocols;
ASP.NET 2.0 AJAX中Webservice调用方法示例
using Microsoft.Web.Script.Services;
ASP.NET 2.0 AJAX中Webservice调用方法示例
using System.Data;

WEB服务2:WS

ASP.NET 2.0 AJAX中Webservice调用方法示例using System;
ASP.NET 2.0 AJAX中Webservice调用方法示例
using System.Web;
ASP.NET 2.0 AJAX中Webservice调用方法示例
using System.Collections;
ASP.NET 2.0 AJAX中Webservice调用方法示例
using System.Web.Services;
ASP.NET 2.0 AJAX中Webservice调用方法示例
using System.Web.Services.Protocols;
ASP.NET 2.0 AJAX中Webservice调用方法示例
using Microsoft.Web.Script.Services;
ASP.NET 2.0 AJAX中Webservice调用方法示例

二、前台页面:
注意要点:
需要使用的后台WebService的方法均设置在如下位置

ASP.NET 2.0 AJAX中Webservice调用方法示例        <asp:ScriptManager ID="ScriptManager1" runat="server">
ASP.NET 2.0 AJAX中Webservice调用方法示例            
<Services>
ASP.NET 2.0 AJAX中Webservice调用方法示例                
<asp:ServiceReference Path="~/WS.asmx" />
ASP.NET 2.0 AJAX中Webservice调用方法示例                
<asp:ServiceReference Path="~/WS1.asmx" />
ASP.NET 2.0 AJAX中Webservice调用方法示例            
</Services>
ASP.NET 2.0 AJAX中Webservice调用方法示例        
</asp:ScriptManager>

Default页面:

三、JavaScript程序:
注意要点:
AJAX November CTP 需要用 eval() 方法将其转换成一个DataTable对象(并且要裁掉最前面的"("),而AJAX December CTP 支持以下方法转换“Sys.Preview.Data.DataTable.parseFromJson(result)”

ASP.NET 2.0 AJAX中Webservice调用方法示例    function dd()
    }

示例代码:/Files/heekui/AJAXStudy.rar

相关文章: