您的位置:首页 > 编程语言 > ASP

ASP.NET AJAX中 复杂数据类型使用简单实例

2012-06-27 22:07 706 查看
aspx页面

<asp:ScriptManager ID="ScriptManager1" runat="server">
<Services>
<asp:ServiceReference Path="ComplexType.asmx" />
</Services>
</asp:ScriptManager>

<input type="button" value="Double Salary" onclick="doubleSalary()" />
<input type="button" value="Reverse" onclick="reverse([1, 2, 3, 4, 5])" />
<input type="button" value="Get Employees" onclick="getEmployees()" />

<script language="javascript" type="text/javascript">
function doubleSalary()
{
var employee = new Object();
employee.FirstName = "Jeffrey";
employee.LastName = "Zhao";
employee.Salary = 1000;

ComplexType.DoubleSalary(employee, doubleSalarySucceeded);
}

function doubleSalarySucceeded(result)
{
var message = String.format(
"First Name: {0}\nLast Name: {1}\nFull Name: {2}\nSalary: {3}",
result.FirstName,
result.LastName,
result.FullName,
result.Salary);

alert(message);
}

function reverse(array)
{
ComplexType.Reverse(array, function(result){alert(result);});
}

function getEmployees()
{
ComplexType.GetEmployees(getEmployeesSucceeded);
}

function getEmployeesSucceeded(result)
{
for (var key2 in result)
{
alert(key2 + ": " + result[key2].Salary)
}
}

</script>

ComplexType.asmx页面
<%@ WebService Language="C#" Class="ComplexType" %>

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

[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.Web.Script.Services.ScriptService]
public class ComplexType : System.Web.Services.WebService {

[WebMethod]
public Employee DoubleSalary(Employee employee)
{
employee.Salary *= 2;
return employee;
}

[WebMethod]
public List<int> Reverse(List<int> list)
{
list.Reverse();
return list;
}

[WebMethod]
public IDictionary<string, Employee> GetEmployees()
{
Dictionary<string, Employee> result = new Dictionary<string, Employee>();

Employee emp1 = new Employee();
emp1.FirstName = "Jeffrey";
emp1.LastName = "Zhao";
emp1.Salary = 1000;
result[emp1.FullName] = emp1;

Employee emp2 = new Employee();
emp2.FirstName = "Tom";
emp2.LastName = "Chen";
emp2.Salary = 2000;
result[emp2.FullName] = emp2;

return result;
}
}

Employee.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;

/// <summary>
/// Summary description for Employee
/// </summary>
public class Employee
{
public string FirstName;

public string LastName;

public int Salary;

public string FullName
{
get
{
return this.FirstName + " " + this.LastName;
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐