其实原理是很简单的....可分为:
1.服务器端:
1)注册Ajax.
在WebConfig中的configuration节点的system.web节点中添加
<httpHandlers>
<add verb="POST,GET" path="ajax/*.ashx" type="Ajax.PageHandlerFactory, Ajax" />
</httpHandlers>
2)添加引用Ajax.dll到项目中
3)注册Ajax到名为WebForm1的页面
Ajax.Utility.RegisterTypeForAjax(typeof(WebForm1)); //Ajax注册
4)在页面中添加Ajax方法
[AjaxMethod]
public string ReturnA()
{
Thread.Sleep(10000);//为更明显的显示异步调用
return "Hello world";
}
2.客户端:
1)添加JS脚本
<script language="javascript" type="text/javascript">
function a()
{
document.getElementById("Label1").innerHTML = "Load.....";
WebForm1.ReturnA(b);
}
function b(res)
{
document.getElementById("Label1").innerHTML = res.value;
}
</script>
2)在页面放一个名为Label1的Label的服务器控件
<asp:Label id="Label1" runat="server"></asp:Label><script>a();</script>
项目过程中遇到调用被控端的时候,有时候会遇到网络延迟的现象,使用Ajax.net异步调用可以改善用户体验.....