ASP.NET AJAX中Webservice调用方法示例
2007-07-01 13:37
856 查看
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均有转换器
WEB服务1:WS1
二、前台页面:
注意要点:
需要使用的后台WebService的方法均设置在如下位置
Default页面:
三、JavaScript程序:
注意要点:
AJAX November CTP 需要用
eval() 方法将其转换成一个DataTable对象(并且要裁掉最前面的"("),而AJAX December CTP
支持以下方法转换“Sys.Preview.Data.DataTable.parseFromJson(result)”
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均有转换器
<system.web.extensions> <scripting> <webServices> <jsonSerialization> <converters> <add name="DataSetConverter" type="Microsoft.Web.Preview.Script.Serialization.Converters.DataSetConverter, Microsoft.Web.Preview"/> <add name="DataRowConverter" type="Microsoft.Web.Preview.Script.Serialization.Converters.DataRowConverter, Microsoft.Web.Preview"/> <add name="DataTableConverter" type="Microsoft.Web.Preview.Script.Serialization.Converters.DataTableConverter, Microsoft.Web.Preview"/> </converters> </jsonSerialization> </webServices> </scripting> </system.web.extensions>
WEB服务1:WS1
using System; using System.Web; using System.Collections; using System.Web.Services; using System.Web.Services.Protocols; using Microsoft.Web.Script.Services; [WebService(Namespace = "http://tempuri.org/")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] [ScriptService]
二、前台页面:
注意要点:
需要使用的后台WebService的方法均设置在如下位置
<asp:ScriptManager ID="ScriptManager1" runat="server"> <Services> <asp:ServiceReference Path="~/WS.asmx" /> <asp:ServiceReference Path="~/WS1.asmx" /> </Services> </asp:ScriptManager>
Default页面:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title>Untitled Page</title> </head> <body> <form id="form1" runat="server"> <asp:ScriptManager ID="ScriptManager1" runat="server"> <Services> <asp:ServiceReference Path="~/WS.asmx" /> <asp:ServiceReference Path="~/WS1.asmx" /> </Services> </asp:ScriptManager> <div> <asp:Button ID="Button1" runat="server" Text="Button" OnClientClick="dd();return false;" /> <div id="time"> </div> <div id="List1"> <asp:DropDownList ID="ddl1" runat="server" Width="187px"> </asp:DropDownList> </div> </div> </form> </body> </html>
三、JavaScript程序:
注意要点:
AJAX November CTP 需要用
eval() 方法将其转换成一个DataTable对象(并且要裁掉最前面的"("),而AJAX December CTP
支持以下方法转换“Sys.Preview.Data.DataTable.parseFromJson(result)”
function dd() using System; using System.Web; using System.Collections; using System.Web.Services; using System.Web.Services.Protocols; using Microsoft.Web.Script.Services; using System.Data; [WebService(Namespace = "http://tempuri.org/")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] [ScriptService]
相关文章推荐
- ASP.NET 2.0 AJAX中Webservice调用方法示例(转)
- [转]ASP.NET 2.0 AJAX中Webservice调用方法示例 (包含参数类型为DataTable的WS方法)
- ASP.NET AJAX中Webservice调用方法示例
- ASP.NET 2.0 AJAX中Webservice调用方法示例
- ASP.NET 2.0 AJAX中Webservice调用方法示例
- ASP.NET 2.0 AJAX中Webservice调用方法示例
- ASP.NET 2.0 AJAX中Webservice调用方法示例
- ASP.NET 2.0 AJAX中Webservice调用方法示例
- ASP.NET 2.0 AJAX中Webservice调用方法示例
- [转]ASP.NET 2.0 AJAX中Webservice调用方法示例 (包含参数类型为DataTable的WS方法)
- [导入]ASP.NET 2.0 AJAX中Webservice调用方法示例
- ASP.NET 2.0 AJAX中Webservice调用方法示例
- ASP.NET 2.0 AJAX中Webservice调用方法示例
- ASP.NET 2.0 AJAX中Webservice调用方法
- ASP.NET 2.0 AJAX中Webservice调用方法
- ASP.NET AJAX中PageMethods方法调用示例
- Asp.Net Ajax 2.0 调用WebService 中的方法
- ASP.NET 2.0 AJAX中Webservice调用方法
- ASP.NET 2.0 AJAX中Webservice调用方法
- ASP.NET 2.0 AJAX中Webservice调用方法