Ajax.Net 异步调用

项目过程中遇到调用被控端的时候,有时候会遇到网络延迟的现象,使用Ajax.net异步调用可以改善用户体验.....

其实原理是很简单的....可分为:
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>

你可能感兴趣的:(.net)