扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:老赵 来源:博客园 2007年11月3日
关键字:
1 [Serializable] 2 public class Employee : IComparable<Employee> 3 { 4 public string Name; 5 6 public int Age; 7 8 #region IComparable<Employee> Members 9 10 public int CompareTo(Employee other) 11 { 12 return this.Name.CompareTo(other.Name); 13 } 14 15 #endregion 16 } 17 18 [Serializable] 19 public class Company 20 { 21 public string Name; 22 23 public Employee[] Employees; 24 } |
1 [WebService(Namespace = "http://tempuri.org/")] 2 [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] 3 public class ComplexTypeWS : System.Web.Services.WebService { 4 5 [WebMethod] 6 public Company Sort(string companyName, Employee[] employees) 7 { 8 Array.Sort<Employee>(employees); 9 10 Company company = new Company(); 11 company.Name = companyName; 12 company.Employees = employees; 13 return company; 14 } 15 } |
1 <body style="font-family:Verdana; font-size: 14px;"> 2 <form id="form1" runat="server"> 3 <atlas:ScriptManager runat="server" ID="ScriptManager1" /> 4 5 <div>Employees:</div> 6 <div id="employees"></div> 7 <hr /> 8 <div>Add Employee:</div> 9 <div>Name: <input type="text" id="empName" /></div> 10 <div>Age: <input type="text" id="empAge" /></div> 11 <input type="button" value="Add employee" onclick="addEmployee()" /><br /> 12 <hr /> 13 <div>Company Name:<input type="text" id="companyName" /></div> 14 <input type="button" value="Sort!" onclick="sort()" /><br /> 15 <hr /> 16 <div id="sortedDisplay"></div> 17 </form> 18 </body> |
1 <script language="javascript"> 2 // 内存中的Employee数组 3 var empArray = new Array(); 4 5 // 添加一个Employee 6 function addEmployee() 7 { 8 // 建立一个对象表示Employee 9 var emp = new Object(); 10 emp.Name = $('empName').value; 11 emp.Age = parseInt($("empAge").value, 10); 12 13 // 加入数组 14 empArray.push(emp); 15 16 // 更新最上方的显示 17 updateSource(); 18 } 19 20 // 将内存中的empArray数组显示在id为employee的div中 21 function updateSource() 22 { 23 var html = ""; 24 25 for (var i = 0; i < empArray.length; i++) 26 { 27 var emp = empArray[i]; 28 html += ((i + 1) + ". " + emp.Name + ", " + emp.Age + " years old.<br />") 29 } 30 31 $("employees").innerHTML = html; 32 } 33 34 // 访问Web Service进行排序 35 function sort() 36 { 37 // 构造参数 38 var params = { "companyName" : $("companyName").value, "employees" : empArray }; 39 // 构造Web Service方法访问对象 40 var method = new Sys.Net.ServiceMethod("ComplexTypeWS.asmx", "Sort", null); 41 42 // 调用Web Service方法 43 method.invoke(params, onMethodComplete); 44 } 45 46 // 回调函数 47 function onMethodComplete(company, response, userContext) 48 { 49 // 在id为sortedDisplay的div中显示所有的Employee, 50 // 可以发现company对象和服务器端对象的结构相同 51 var html = "Company Name: " + company.Name; 52 for (var i = 0; i < company.Employees.length; i++) 53 { 54 var emp = company.Employees[i]; 55 html += ("<br />" + (i + 1) + ". " + emp.Name + ", " + emp.Age + " years old.") 56 } 57 58 $("sortedDisplay").innerHTML = html; 59 60 // 清空内存中的Employee 61 empArray.length = 0; 62 // 更新最上方的显示 63 updateSource(); 64 } 65 </script> |
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者