Ajax.NET 调用用WebService方法收藏
Ajax.NET作为成熟的Ajax平台之一,由于和.NET平台一起都是微软开发的,所以用Ajax.NET的客户端脚本来调用.NET开发的WebService将是一个很简单的事情,这是令人很兴奋的事情之一.
下面将一步一步介绍调用的过程.首先我们先用VS2008新增一个WebService,其代码如下:
- using System;
- using System.Collections;
- using System.ComponentModel;
- using System.Data;
- using System.Linq;
- using System.Web;
- using System.Web.Services;
- using System.Web.Services.Protocols;
- using System.Xml.Linq;
- namespace WebService1
- {
- /// <summary>
- /// Service1 的摘要说明
- /// </summary>
- [WebService(Namespace = "http://tempuri.org/")]
- [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
- [ToolboxItem(false)]
- // 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。
- [System.Web.Script.Services.ScriptService]
- public class Service1 : System.Web.Services.WebService
- {
- [WebMethod]
- public string HelloWorld()
- {
- return "Hello World";
- }
- }
- }
注意,为WebService类加上属性[System.Web.Script.Services.ScriptService],它使得ASP.NET AJAX 可以从脚本中调用此 Web 服务.
然后新增一Ajax Web页面,加页面中加入对WebService的引用,就可以编写脚本代码来调用这个WebService,代码如下:
- <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebService1.WebForm1" %>
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml" >
- <head runat="server">
- <title>无标题页</title>
- <script type="text/javascript">
- function CallMethod()
- {
- WebService1.Service1.HelloWorld(SucceededCallback);
- }
- function SucceededCallback(res)
- {
- alert(res);
- }
- </script>
- </head>
- <body>
- <form id="form1" runat="server">
- <div>
- <asp:ScriptManager ID="ScriptManager1" runat="server">
- <Services>
- <asp:ServiceReference Path="~/Service1.asmx" />
- </Services>
- </asp:ScriptManager>
- </div>
- <input id="Button2" type="button" value="调用WebService方法" onclick="CallMethod()" />
- </form>
- </body>
- </html>
调用方法几乎和C#的函数调用是一样的,能过命名空间+类型名+方法名+参数的形式调用.另外我们只需要加入一个回调方法来处理调用的返回结果,对于基本类型的参数,可以直接传递,复杂的参数我使用现在流行的JSON技术来做为数据传输的载体,关于JSON技术的可以参考下面这篇文章:
另外,极致业务基础平台的BS部分就是就是使用这总JS+WEBSERVER的技术,现实友好的用户界面,可以从以下地址下载到平台的免费试用版.
lad.li