完成AJAX簡單聊天室

來源:互聯網
上載者:User

完成了學AJAX的第一個程式。此聊天室程式在.NET環境下完成,具有最基本的聊天室功能,註冊、登入、發言、顯示線上使用者列表... 在.NET中進行AJAX的應用非常輕鬆,簡單地說就是修改web.config檔案、添加ajax.dll引用、寫伺服器端代碼並且加上[Ajax.AjaxMethod()]屬性聲明,表示這些伺服器端代碼是要被JS代碼調用的方法、在Page_Load事件中註冊JS代碼調用的C#方法對應的類、寫JS代碼以及增加觸發JS代碼的事件。這幾項完成了就可以正常地應用AJAX技術了.                    

        1.web.config檔案的修改:在 web.config檔案中的“system.web”結點中增加“httpHandlers”結點,再在結點下增加一個子結點 add verb="POST,GET" path="ajax/*.ashx" type="Ajax.PageHandlerFactory,Ajax" :

        2.在Visual Studio.NET中添加引用的方法就是在方案總管中的引用結點上右擊MOUSE選擇“添加引用”,然後在彈出的選項卡中點擊瀏覽按鈕,選擇正確的ajax.dll的路徑,確定就搞定。

        3.像寫一般的C#類和方法一樣地寫代碼,只是要為C#方法加上[Ajax.AjaxMethod()]屬性聲明,表明這是一個AJAX方法.

        4.在Page_Load中註冊AJAX方法對應的類(即AJAX方法所在的類),方法是在Page_Load事件中增加下面的代碼:Ajax.Utility.RegisterTypeForAjax(typeof(yourClass)); ,yourClass就是你的類名.只有先註冊了類,JS代碼才可以通過特定的方法去調用類的AJAX方法.

       5.寫JS代碼也有一定的方法,我先拿一段代碼:

function getOnLineUser_CallBack(response) --------------------------------------------b

{

    var str=new String();

    var uListStr=new String();

    var uDiv=document.getElementById("uList");

    if (response.error!=null)

    {

         alert(response.error);

    }

    str=response.value; uListStr=s tr.replace("|","  ");

    uDiv.innerHTML=uListStr;

    }

    function getOnLine() ---------------------------------------------------------------a

    {

          main.getOnLineUser(getOnLineUser_CallBack);

    }

   這裡有a,b兩個function,其中a函數getOnLine()是被觸發的JS代碼(比如在button的onclick事件中等...),在這裡getOnLine()中調用了一個帶有getOnLineUser_CallBack參數的方法,這個地方就是在調用C#代碼(伺服器端),我上面說的特定的調用方法就是以“同名類.同名方法”的形式調用Server-Side代碼(AJAX方法)。main.getOnLineUser()中有一個“固定的參數”,它是另一個JS函數的入口(也就是函數名),在這裡是getOnLineUser_CallBack,說它是固定參數的含意是:即使AJAX方法沒有參數這裡也會有一個這樣的參數,也就是說在JS中調用AJAX方法的時候會比對應的C#方法多一個參數即這個帶有_CallBack尾碼的函數名(這個函數名是自訂的,不一定要用_CallBack結尾,這隻是一種習慣).CallBack函數有一個參數即response,它有一個value屬性,這裡邊存放的就是從AJAX方法(C#方法)返回的值,可以是一般的簡單類型也可以是DataSet,DataTable等類型。可以通過response.value來更新頁面中的元素。另外response還有另一個屬性error,裡邊存放的是出錯資訊,可以通過它是否為null來判斷是否出錯及輸出錯誤資訊。 通過這簡單的幾步就可以應用AJAX技術了... 開發環境:WinXPSP2,Visual Studio.NET2003,C#

相關文章

聯繫我們

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