AJAX.NET使用者開發指南(1)

來源:互聯網
上載者:User
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
  • Ajax: 一個建立Web應用的新途徑
  • Ajax的錯誤處理機制探討(2)
  • Ajax的錯誤處理機制探討(1)
  • 初次體驗.NET Ajax無重新整理技術
  • Rails系統中的AJAX開發技術簡析(4)


相關文章

Alibaba Cloud 10 Year Anniversary

With You, We are Shaping a Digital World, 2009-2019

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。