用js調用WebService簡單實現

來源:互聯網
上載者:User

首先,我們應該先在項目上添加一個WEB服務(WebService.asmx),在代碼檔案(WebService.cs)中書寫代碼如下:

WebService.csusing System;
using System.Collections;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Web.Script.Services;

/// <summary>
///WebService 的摘要說明
/// </summary>
/// 
[ScriptService]
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]

public class WebService : System.Web.Services.WebService
{

    public WebService()
    {

        //如果使用設計的組件,請取消注釋以下行 
        //InitializeComponent(); 
    }
    [WebMethod]
    public string HelloWorld()
    {
        return "Hello World";
    }
    [WebMethod]//
    public int ADD(int a, int b)
    {
        return a + b;
    }

}
最重要的是第12行, [ScriptService]加上這個後就可以用js調用WEB
Services了。還有一個地方應該注意“[ScriptService]”這個是需要命名空間的,在asp.net3.5下是System.Web.Script.Services;在2.0下沒有找到這個空間,這個希望看過的網友幫忙解釋下。下面介紹如何通過js調用這個 web Services
Default.aspx   <script language="javascript">
     function OnbuttonGo_click() 
    {
        requestSimpleService = WebService.HelloWorld(
        //params
            OnRequestComplete    //Complete event
            );

        return false;
    }

    function OnRequestComplete(result) 
    {
        alert(result);
    }
    </script>

        <asp:ScriptManager ID="ScriptManager1" runat="server">
            <Services>
                <asp:ServiceReference Path="WebService.asmx" />
            </Services>
        </asp:ScriptManager>
    <input type="button" value="調用webservice" onclick="return OnbuttonGo_click();" />html部分只要添加一個ScriptManager,ScriptManager裡面一定要加上ServiceReference引用,不然會報錯。在添加一個用戶端的按鈕調用一下click事件在事件處理中可以直接使用WEBService給的類名及方法,方法的參數列表最後應該加上一個請求完成的函數,以便在處理完成返回結果。同理,WebService裡的add方法也是可以這樣調用。可要params部分加入傳入的參數即可。

本文學習自TerryLee的ASP.NET AJAX入門系列文章

http://www.cnblogs.com/Terrylee/archive/2006/10/25/ASPNET_AJAX_ScriptManager.html


 

 

已經更新錯誤,下面是範例下載。這次是可用的了!
demo下載

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.