1. 程式人生 > >js呼叫web服務的介面和呼叫後臺方法

js呼叫web服務的介面和呼叫後臺方法

default.aspx前臺程式碼:

<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>

<%@ Register Assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
    Namespace="System.Web.UI" TagPrefix="asp" %>

<html xmlns="

http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>js呼叫webService</title>
    <script type="text/javascript">
      function test()
      {
        WebService.HelloWorld(onSuccess);
      }
     

     //回撥函式,顯示結果
      function onSuccess(result)
      {     
        document.getElementById('mess').innerText="顯示結果:"+result;
      }
     

     //js呼叫後臺方法函式
      function js_WsMethod()
      {
        PageMethods.myWebMethod(2,3,onSuccess);
      }
    </script>
</head>
<body>
    <form id="form1" runat="server">
        <asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true">
          <Services>
            <asp:ServiceReference Path="WebService.asmx" />
          </Services>
        </asp:ScriptManager>
        <input id="Button1" type="button" onclick="javascript:test()" value="呼叫webservice" />
        <input id="Button2" type="button" onclick="javascript:js_WsMethod()" value="js呼叫webService" />
    <div id="mess" style=" border:solid 1px blue; height:100px; width:100px;">   
    </div>
    </form>
</body>
</html>

default.aspx.cs後臺程式碼:

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }

    //後臺web方法

    [System.Web.Services.WebMethod]
    public static string myWebMethod(int a,int b)
    {
        int c=(a*b);
        return  ""+a.ToString()+"*"+ b+"="+c.ToString();
    }
}

WebService.cs程式碼:

using System;
using System.Web;
using System.Collections;
using System.Web.Services;
using System.Web.Services.Protocols;


/// <summary>
/// WebService 的摘要說明
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.Web.Script.Services.ScriptService]   //必須加入此標記,不然會報錯
public class WebService : System.Web.Services.WebService {

    public WebService () {

        //如果使用設計的元件,請取消註釋以下行
        //InitializeComponent();
    }

    [WebMethod]
    public string HelloWorld() {
        return "Hello World";
    }
   
}

效果圖: