AJAX.NET用戶開發指南(1)

 AJAX依靠服務器作爲中介來分發和處理請求爲了完成這項工作,.net封裝類依賴於客戶端的請求對象,而xmlHttpRequest對象被大部分的瀏覽器支持,因此使用這個對象是一個不錯的解決方案因爲封裝的目的是隱藏xmlHttpRequest的實現,故我們不討論他的實現細節

  封裝類是通過在.net的方法上增加AJAX屬性標記來實現的,一旦被標記,AJAX創建客戶端的javascript函數(這類似於客戶端編寫的javascript函數),並使用xmlhttprequest創建服務器代理,這個代理映射客戶端的函數到服務器的處理函數

  複雜嗎?不會的,讓我們看看下面的簡單例子,給出的.net 函數


'VB.Net

public function Add(firstNumber as integer, secondNumber as integer) as integer

return firstNumber + secondNumber

end sub


//C#

public int Add(int firstNumber, int secondNumber)
{
 return firstNumber + secondNumber;
}

  Ajax.net會立即自動的創建帶有兩個參數、名字爲Add的javascript函數,當客戶端調用這個javascript函數時,請求將從後臺送到服務器端並從將計算結果返回給客戶端

  初始安裝

  我們首先從如何把”.dll”安裝到你的項目開始,當然,如果你瞭解如何使用,這一節可以跳過

  如果你還沒有Ajax.dll,可以首先下載AJAX的最新版本解壓文件放到可以被你的項目引用的地方,在.net項目中,添加上對其的引用,然後就可以開始使用ajax.dll封裝進行開發了




如果你在安裝引用時遇到了麻煩,可以參考這個鏈接的說明:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vbcon/html/vbtskaddingremovingreferences.asp

  設置HttpHandle

  爲了使其可以工作,第一步必須做的是在web.config中安裝設置封裝包的HttpHandle,不去詳細解釋HttpHandle是如何工作的,我們只需要瞭解他們可以用來處理asp.net請求例如,所有的目的爲*.aspx的請求可以通過System.Web.UI.PageHandlerFactory類發送到控制句柄,簡單的說,我們把任何向ajax/*.ashx的請求發送到Ajax.PageHandlerFactory的請求處理句柄:

<configuration>
<system.web>
<httpHandlers>
<add verb="POST,GET" path="ajax/*.ashx" type="Ajax.PageHandlerFactory, Ajax" />

</httpHandlers>
...
<system.web>
</configuration>

  上面的代碼告訴asp.net把任何匹配到特定的路徑(ajax/*.ashx)請求發送到Ajax.PageHandlerFactory產生的HttpHandle,而不再是默認的Handler factory你不需要創建ajax子目錄,這是一個只用來臨時使用的虛擬的目錄,因此別的HttpHandler可以用他們自己的目錄來使用.ashx擴展名的文件

  配置頁面

  現在我們準備好開始代碼編寫了打開一個新的網頁或者已經存在的頁面,在其codebehind文件中的Page_Load事件中增加以下代碼:

'vb.net

Public Class Index
Inherits System.Web.UI.Page

Private Sub Page_Load(sender As Object, e As EventArgs) Handles MyBase.Load

Ajax.Utility.RegisterTypeForAjax(GetType(Index))
'...
end sub
'...
End Class
發佈了1 篇原創文章 · 獲贊 1 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章