Ajax.NET Pro 簡單例子和注意

來源:互聯網
上載者:User
★後台代碼如下:
-----------------------------------------------------------------------------------------------------------

 1public partial class AjaxPro_example_Default : System.Web.UI.Page
 2{
 3
 4    protected void Page_Load(object sender, EventArgs e)
 5    {
 6        AjaxPro.Utility.RegisterTypeForAjax(typeof(AjaxPro_example_Default));//必須保證每次回傳時都執行此註冊語句
 7    }
 8
 9    [AjaxPro.AjaxMethod]
10    public DateTime GetServerTime()
11    {
12        return DateTime.Now;
13    }
14}

★前台代碼如下:當頁面載入後,間隔一秒從伺服器上取得時間並顯示在aspx頁面上的divMsg中
----------------------------------------------------------------------------------------------------

 1<head runat="server">
 2    <title>無標題頁</title>
 3<script type="text/javascript">
 4function getServerTime()
 5{
 6  //AjaxPro_example_Default.GetServerTime(getServerTime_callback);  // asynchronous call 注釋掉:樣本中的原代碼
 7
 8  window.setInterval("AjaxPro_example_Default.GetServerTime(getServerTime_callback)",1000);//每隔一秒調用一次  
 9}
10
11// 回呼函數
12function getServerTime_callback(res)
13{
14    //alert(res.value);//注釋掉:樣本中的原代碼
15    document.getElementById("divMsg").innerText=res.value;//將時間值填充到div中呈現
16}
17
18window.onload=getServerTime;//頁面載入時執行
19
20</script>
21</head>
22<body >
23    <form id="form1" runat="server">
24    <div  id="divMsg" style="width: 100px; height: 100px">
25        </div>
26    </form>    
27</body>
28</html>

★值得注意的幾個要點:
----------------------------------------------------------------------------------------------------
1.必須在Web應用程式的根目錄下的Web.config檔案的<system.web>結點內中添加:
  <httpHandlers>
      <add verb="POST,GET" path="ajaxpro/*.ashx" type="AjaxPro.AjaxHandlerFactory, AjaxPro.2"/>
    </httpHandlers>

2. 服務端必須在Page_Load中註冊包含調用方法的類,並且必須保證頁面每次回傳時都執行註冊語句。
  即不能寫成:
   if(!IsPostBack)
   {  //註冊語句不能寫在此處,否則頁面回傳後,用戶端將無法訪問到AjaxPro_example_Default類
      AjaxPro.Utility.RegisterTypeForAjax(typeof(AjaxPro_example_Default));
   }

3. 服務端只有用[AjaxPro.AjaxMethod]標記過的方法,才能被用戶端調用

4. 用戶端頁面上必須有<form  runat="server">標記,否則不能訪問在服務端登入的類

★遺憾之處:
----------------------------------------------------------------------------------------------------
      不能跨頁面調用,只能在與後代cs相關聯的前台頁面上訪問註冊過的類或方法,要是可以在一處(如global檔案中)註冊所有需要在前台訪問的對象,而前台不論是哪個位置的html或aspx頁面都可以訪問到註冊過的對象,那將是更加的方便靈活。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.