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均有转换器
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<system.web.extensions>
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<scripting>
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<webServices>
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<jsonSerialization>
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<converters>
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<add name="DataSetConverter" type="Microsoft.Web.Preview.Script.Serialization.Converters.DataSetConverter, Microsoft.Web.Preview"/>
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<add name="DataRowConverter" type="Microsoft.Web.Preview.Script.Serialization.Converters.DataRowConverter, Microsoft.Web.Preview"/>
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<add name="DataTableConverter" type="Microsoft.Web.Preview.Script.Serialization.Converters.DataTableConverter, Microsoft.Web.Preview"/>
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
</converters>
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
</jsonSerialization>
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
</webServices>
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
</scripting>
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
</system.web.extensions>
WEB服务1:WS1
二、前台页面:
注意要点:
需要使用的后台WebService的方法均设置在如下位置
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<asp:ScriptManager ID="ScriptManager1" runat="server">
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<Services>
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<asp:ServiceReference Path="~/WS.asmx" />
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<asp:ServiceReference Path="~/WS1.asmx" />
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
</Services>
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
</asp:ScriptManager>
Default页面:
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
<%
![](https://www.cnblogs.com/Images/dot.gif)
@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<html xmlns="http://www.w3.org/1999/xhtml">
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<head runat="server">
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<title>Untitled Page</title>
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
<script language="javascript" type="text/javascript" src="js.js">
![](https://www.cnblogs.com/Images/dot.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
</script>
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
</head>
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<body>
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<form id="form1" runat="server">
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<asp:ScriptManager ID="ScriptManager1" runat="server">
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<Services>
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<asp:ServiceReference Path="~/WS.asmx" />
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<asp:ServiceReference Path="~/WS1.asmx" />
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
</Services>
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
</asp:ScriptManager>
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<div>
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<asp:Button ID="Button1" runat="server" Text="Button" OnClientClick="dd();return false;" />
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<div id="time">
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
</div>
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<div id="List1">
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
<asp:DropDownList ID="ddl1" runat="server" Width="187px">
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
</asp:DropDownList>
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
</div>
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
</div>
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
</form>
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
</body>
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
</html>
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
三、JavaScript程序:
注意要点:
AJAX November CTP 需要用
eval() 方法将其转换成一个DataTable对象(并且要裁掉最前面的"("),而AJAX December CTP
支持以下方法转换“Sys.Preview.Data.DataTable.parseFromJson(result)”
源程序下载:
http://download1.csdn.net/down3/20070613/13101237511.rar