这个例子用到了上一篇博客中的Employee类,实现的功能也与之类似,不过这个代码量很少,
EmployeeService.asmx
<%@ WebService Language="C#" Class="EmployeeService" %>
using System;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
// 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消注释以下行。
[System.Web.Script.Services.ScriptService]
public class EmployeeService : System.Web.Services.WebService {
[WebMethod]
public string HelloWorld() {
return "Hello World";
}
[WebMethod]
public Employee GetEmployee(string firstName, string lastName, string title)
{
return new Employee(firstName, lastName, title);
}
}
WebServiceAccess.aspx
<%@ Page Language="C#" %>
<!DOCTYPE html>
<script runat="server">
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
</head>
<body>
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server">
<Services>
<asp:ServiceReference Path="~/EmployeeService.asmx" />
</Services>
</asp:ScriptManager>
<script type="text/javascript">
function ShowEmployee(firstName, lastName, title)
{
EmployeeService.GetEmployee(firstName, lastName, title, onGetEmployeeSuccess);
}
function onGetEmployeeSuccess(employee)
{
alert(String.format("firstName:{0},lastName:{1},title{2}",employee.FirstName,employee.LastName,employee.Title));
}
</script>
<input type="button" value="Bill Gates"
οnclick="ShowEmployee('Bill', 'Gates', 'Chair man')" />
<input type="button" value="Steve Ballmer"
οnclick="ShowEmployee('Steve', 'Ballmer', 'CEO')" />
</form>
</body>
</html>