使用AjaxPro實現ajax效果

來源:互聯網
上載者:User
        在上一篇使用XMLHttpRequest 實現ajax效果中,介紹了使用XMLHttpRequest實現ajax效果,本篇將使用AjaxPro.Net架構實現同樣的功能:在用戶端非同步擷取服務端時間!AjaxPro.Net是一個優秀的.net環境下的ajax架構,用法很簡單,可以查閱相關資料,簡單說有幾點:
1)添加AjaxPro.dll應用;
2)配置web.config;
3)寫服務端方法,加[AjaxPro.AjaxMethod]申明;
4)用戶端調用服務端方法;(ajaxpro最大的優點:用戶端js中直接調用服務端方法)
用戶端代碼:<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>AjaxPro onLoading</title>
</head>
<body>
    <form id="form1" runat="server">
        <div id="loadinfo" style="visibility:hidden;position:absolute;left:0px;top:0px;background-color:Red;color:White;">Loading</div>
   
        <input id="Button1" type="button" value="Get ServerTime" onclick ="javascript:GetTime();void(0)" />

        <script type="text/javascript" defer="defer">
        
        // loading效果
        AjaxPro.onLoading = function(b) 
        {
            var a = document.getElementById("loadinfo");
            a.style.visibility = b ? "visible" : "hidden";
        }

        function GetTime() 
        {
            // 調用服務端方法
            //調用方法:類名.方法名 (參數為指定一個回呼函數)
            myLoad.GetServerTime(callback);
        }

        function callback(res)  //回呼函數,顯示結果
        {
            alert(res.value);
        }
        </script>
    </form>
</body>
</html>

註:javascript代碼放在form內結束處,確保可以訪問AjaxPro對象,否則提示AjaxPro未定義;因為在服務端page_load輸出js到頁面後才到找到AjaxPro對象;且javascript的defer="defer",頁面載入時先不執行此代碼。
服務端代碼:public partial class myLoad : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        AjaxPro.Utility.RegisterTypeForAjax(typeof(myLoad)); //註冊ajaxPro,括弧中的參數是當前的類名
    }

    [AjaxPro.AjaxMethod] //申明是ajaxPro方法
    public string GetServerTime()
    {
        System.Threading.Thread.Sleep(2000);
        return DateTime.Now.ToString();
    }
}

AjaxPro.Net實現的頁面載入onLoading效果:
      
範例程式碼下載:/Files/chy710/ajaxPro.rar
環境:AjaxPro2.dll 6.10.6.2  asp.net2.0

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.