Ajax.NET 調用用WebService方法

來源:互聯網
上載者:User

 Ajax.NET作為成熟的Ajax平台之一,由於和.NET平台一起都是微軟開發的,所以用Ajax.NET的用戶端指令碼來調用.NET開發的WebService將是一個很簡單的事情,這是令人很興奮的事情之一.

    下面將一步一步介紹調用的過程.首先我們先用VS2008新增一個WebService,其代碼如下:      

  1. using System;
  2. using System.Collections;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Linq;
  6. using System.Web;
  7. using System.Web.Services;
  8. using System.Web.Services.Protocols;
  9. using System.Xml.Linq;
  10. namespace WebService1
  11. {
  12.     /// <summary>
  13.     /// Service1 的摘要說明
  14.     /// </summary>
  15.     [WebService(Namespace = "http://tempuri.org/")]
  16.     [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
  17.     [ToolboxItem(false)]
  18.     // 若要允許使用 ASP.NET AJAX 從指令碼中調用此 Web 服務,請取消對下行的注釋。
  19.     [System.Web.Script.Services.ScriptService]
  20.     public class Service1 : System.Web.Services.WebService
  21.     {
  22.         [WebMethod]
  23.         public string HelloWorld()
  24.         {
  25.             return "Hello World";
  26.         }
  27.     }
  28. }

    注意,為WebService類加上屬性[System.Web.Script.Services.ScriptService],它使得ASP.NET AJAX 可以從指令碼中調用此 Web 服務.

    然後新增一Ajax Web頁面,加頁面中加入對WebService的引用,就可以編寫指令碼代碼來調用這個WebService,代碼如下:

  1. <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebService1.WebForm1" %>
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml" >
  4. <head runat="server">
  5.     <title>無標題頁</title>
  6.     <script type="text/javascript">
  7.     
  8.     function CallMethod()
  9.     {
  10.         WebService1.Service1.HelloWorld(SucceededCallback);
  11.     }
  12.     
  13.     function SucceededCallback(res)
  14.     {
  15.         alert(res);
  16.     }
  17.     
  18.     </script>
  19. </head>
  20. <body>
  21.     <form id="form1" runat="server">
  22.     <div>
  23.         <asp:ScriptManager ID="ScriptManager1" runat="server">
  24.             <Services>
  25.                 <asp:ServiceReference Path="~/Service1.asmx" />
  26.             </Services>
  27.         </asp:ScriptManager>
  28.     </div>
  29.     <input id="Button2" type="button" value="調用WebService方法" onclick="CallMethod()" />
  30.     </form>
  31. </body>
  32. </html>

    調用方法幾乎和C#的函數調用是一樣的,能過命名空間+類型名+方法名+參數的形式調用.另外我們只需要加入一個回調方法來處理調用的返回結果,對於基本類型的參數,可以直接傳遞,複雜的參數我使用現在流行的JSON技術來做為資料轉送的載體,關於JSON技術的可以參考下面這篇文章:

    JSON技術及其在 JBF for ASP.NET 的應用

    另外,極致業務基礎平台的BS部分就是就是使用這總JS+WEBSERVER的技術,現實友好的使用者介面,可以從以下地址下載到平台的免費試用.

    http://www.jeez.com.cn/jbf/

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.