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="
<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";
}
}
效果圖: