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" %>
<!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>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" οnclick="javascript:test()" value="调用webservice" />
<input id="Button2" type="button" οnclick="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";
}
}
效果图: