自訂類:
public class people{ private string name; public string Name { get { return name; } set { name = value; } } private string password; public string Password { get { return password; } set { password = value; } }}
WebService:
[WebMethod] public people[] GetPersonArray() { people[] p = new people[5]; for (int i = 0; i < p.Length; i++) { p[i] = new people(); p[i].Name = "張" + i.ToString(); p[i].Password = "密" + i.ToString(); } return p; }
ScriptManager:
<asp:ScriptManager ID="sm" runat="server"> <Services> <asp:ServiceReference Path="~/WebService2.asmx" InlineScript="true" /> </Services> </asp:ScriptManager>
頁面控制項:
<input type="button" value="Click Me!" onclick="btn_click()" id="btn" /> <div id="result"> </div>
Js:
<script type="text/javascript"> function btn_click(){ WebService2.GetPersonArray(onSuccessed); } function onSuccessed(result){ for(var i=0;i<result.length;i++){ var label = document.createElement("label"); label.innerHTML=result[i]["Name"]+"-----"+result[i]["Password"]+"<br/>"; $get("result").appendChild(label); } } </script>
debugger後:
結果:
查看源檔案:
在源檔案Js檔案的下面部分:
WebService2._staticInstance.GetPersonArray(onSuccess,onFailed,userContext); }var gtc = Sys.Net.WebServiceProxy._generateTypedConstructor;if (typeof(people) === 'undefined') {var people=gtc("people");people.registerClass('people');
可以看到,伺服器端的people類已經被映射到了用戶端.