完成了學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#