圖10現代自行車的發展
圖10現代自行車的發展
AJax|開發指南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