<%@ Page Language="C#" MasterPageFile="~/Site.master" Title="WebService(简单类型和复杂对象、JSON和XML)" %>
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">
<asp:ScriptManagerProxy ID="ScriptManagerProxy1" runat="server">
<services>
<asp:ServiceReference Path="Sample.asmx" />
</services>
</asp:ScriptManagerProxy>
<input type="button" id="btnSimpleTypeTest" value="SimpleTypeTest" />
<input type="button" id="btnGetPerson" value="GetPerson" />
<input type="button" id="btnSetPerson" value="SetPerson" />
<input type="button" id="btnGetList" value="GetList" />
<input type="button" id="btnSetList" value="SetList" />
<input type="button" id="btnGetDictionary" value="GetDictionary" />
<input type="button" id="btnGetDataTable" value="GetDataTable" />
<input type="button" id="btnGetXml" value="GetXml" />
<br /><br />
<div id="result" />
<script type="Text/javascript">
function btnSimpleTypeTest_click()
{
Sample.SimpleTypeTest("abc", false, 1, 1.1, new Date(), System.DayOfWeek.Sunday, onSimpleTypeTestSucceeded);
}
function onSimpleTypeTestSucceeded(result)
{
$get("result").innerHTML = result + "<br />";
}
function btnGetPerson_click()
{
Sample.GetPerson(onGetPersonSucceeded);
}
function onGetPersonSucceeded(result)
{
$get("result").innerHTML = String.format("Name:{0};Age:{1}<br />", result.Name, result.Age);
}
function btnSetPerson_click()
{
// var p = new Object();
var p = new Person();
p.Name = "webabcd";
p.Age = 27;
Sample.SetPerson(p, onSetPersonSucceeded);
}
function onSetPersonSucceeded(result)
{
$get("result").innerHTML = result + "<br />";
}
function btnGetList_click()
{
Sample.GetList(onGetListSucceeded);
}
function onGetListSucceeded(result)
{
var sb = new Sys.StringBuilder();
sb.append("<table border='1'>");
for (var i=0; i<result.length; i++)
{
sb.append("<tr>");
sb.append("<td>Name:" + result[i].Name + "</td>");
sb.append("<td>Age:" + result[i].Age + "</td>");
sb.append("</tr>");
}
sb.append("</table>");
$get("result").innerHTML = sb.toString();
}
function btnSetList_click()
{
var ary = new Array();
for (var i = 0 ; i < 10; i++)
{
var p = new Person();
p.Name = i + 1000;
p.Age = i + 20;
Array.add(ary, p);
}
Sample.SetList(ary, onSetListSucceeded);
}
function onSetListSucceeded(result)
{
$get("result").innerHTML = result;
}
function btnGetDictionary_click()
{
Sample.GetDictionary(onGetDictionarySucceeded);
}
function onGetDictionarySucceeded(result)
{
var sb = new Sys.StringBuilder();
sb.append("<table border='1'>");
for (var key in result)
{
var p = result[key];
sb.append("<tr>");
sb.append("<td>Name:" + p.Name + "</td>");
sb.append("<td>Age:" + p.Age + "</td>");
sb.append("</tr>");
}
sb.append("</table>");
$get("result").innerHTML = sb.toString();
}
function btnGetDataTable_click()
{
Sample.GetDataTable(onGetDataTableSucceeded);
}
function onGetDataTableSucceeded(result)
{
var sb = new Sys.StringBuilder();
sb.append("<table border='1'>");
for (var i=0; i<result.rows.length; i++)
{
sb.append("<tr>");
sb.append("<td>Name:" + result.rows[i].Name + "</td>");
sb.append("<td>Age:" + result.rows[i].Age + "</td>");
sb.append("</tr>");
}
sb.append("</table>");
$get("result").innerHTML = sb.toString();
}
function btnGetXml_click()
{
Sample.GetXml(onGetXmlSucceeded);
}
function onGetXmlSucceeded(result)
{
if (document.all)
{
$get("result").innerText = "\r\n" + result.xml;
}
else
{
// Firefox
$get("result").textContent = "\r\n首节点:" + result.documentElement.nodeName;
}
}
</script>
</asp:Content>