ASP.NET AJAX 1.0 Beta 2 發佈

  • 22983
  • 0
  • 2011-07-10

摘要:ASP.NET AJAX 1.0 Beta 2 發佈

【原文位址】ASP.NET AJAX 1.0 Beta 2 Release
【原文發表日期】 Wednesday, November 08, 2006 11:47 PM

星期一,我們發佈了ASP.NET AJAX(即Atlas)的Beta2版本。你可以在 http://ajax.asp.net 網站上瞭解更多的細節,可以在這裡下載這個版本

ASP.NET AJAX Beta 2 下載檔案

Beta 2 包括三個下載(每個都支援go-live許可)

ASP.NET AJAX 1.0 Beta2: 這是ASP.NET AJAX 的核心下載,內含將由ASP.NET AJAX 1.0 完全支援(意味著微軟24×7的產品支援)的全部特性。該下載同時也包括了對核心客戶端JavaScript型別系統,網路協議層(networking stack),元件模型,擴充件(extender)基類,以及與ASP.NET整合的伺服端功能(包括廣受歡迎的ScriptManager,UpdatePanel,UpdateProgress,和 Timer 控制項)的支援。

ASP.NET AJAX 控制項工具套件: 這個下載包含了30多個免費的ASP.NET AJAX控制項(內含全部源碼),這些包括級聯下拉框,動畫效果,模式對話框,原地pop-up 擴充件在內的控制項將使得實現常見的AJAX場景無比簡單。這個工具套件由社區提供支援,是由一支由微軟和非微軟開發人員組成的開源隊伍共同開發的,它只用了上面這個ASP.NET AJAX 1.0 Beta2 核心版本包括的AJAX特性。

ASP.NET AJAX 將來版本十一月份CTP: 這個下載包括了我們正在開發的將來的AJAX特性的預覽,這些特性非常有可能在被完全實現(baked)和理解後,會轉移到ASP.NET AJAX 核心下載中去。如果你想使用不會變動以及完全支援的API的話,你應該針對上面的核心下載開發。但如果你想挑戰極限(push the envelope)的話,這個下載提供了一些可以利用的特性。

ASP.NET AJAX Beta 2中的新特性

除了缺陷修補外,ASP.NET AJAX Beta 2還包含了幾個值得一提的特性改進:

UpdateProgress 控制項: UpdateProgress 控制項現在包括在完全支援的核心ASP.NET AJAX 1.0 Beta 2 下載裡了(在 Beta1 裡,它還屬於CTP下載)。UpdateProgress 控制項與早期的Atlas CTP中的版本相比,也被大為改進,現在支援同一個頁面上有多個UpdateProgress控制項的能力,可以隨當前被更新的UpdatePanel 而顯示或隱藏。UpdateProgress控制項現在也擁有一個有用的DisplayAfter屬性,允許你輕易地控制UpdateProgress動畫應該等待多久才顯示(以避免回復極快時顯示動畫)。

對不支援AJAX的瀏覽器,局部更新顯示的自動退化(degrade): 給ScriptManager添加了一個boolean屬性SupportsPartialRendering,以表示發送請求的瀏覽器是否支援AJAX。在預設情形下,這個屬性是通過ASP.NET的 BrowserCapabilities 系統裡的設置自動配置的 (意味著你可以修改或定制 .browser 檔案裡的設置)。如果你對特定的瀏覽器或設備將此屬性設置為 false 的話,ASP.NET AJAX 將會自動退化,不使用UpdatePanel所提供的局部更新顯示,而是使用通常的postback和整頁更新。

簡化了的客戶端事件繫結API: 客戶端AJAX JavaScript 程式庫現在有了一個乾淨的機制來對DOM元素繫結和拆除多個事件處理器,減少了你需要寫的程式碼量,同時也有助於避免記憶體洩漏。閱讀Bertrand的精彩部落格文章以瞭解這個新模型的細節。

客戶端JavaScript的本地化: 客戶端腳本現在可以從伺服器自動獲取本地化的資源,這樣就有可能更加輕鬆地構造對語言/區域有意識的web UI。

客戶端JavaScript偵錯和追蹤的改進: Beta2中另加了幾個改進來識別和診斷JavaScript中的問題。你現在也可以使用 debug.trace 和 debug.dump 輸出JavaScript 跟蹤語句到內嵌在頁面上的textarea元素或者輸出到很流行的FireBug瀏覽器外掛或者到Nikhil的WebDevHelper 外掛工具裡。

ASP.NET AJAX開發組也開發了幾個有用的JavaScript源碼管理工具,可以把偵錯參數驗證程式碼添加到JavaScript源碼裡去,然後可以在開發時根據你處理腳本用的是"發佈"還是"偵錯"模式有條件地把它們去除。在不遠的將來,我們將把這些工具的源碼作為ASP.NET AJAX 控制項工具套件的一部分來發行,這將允許開發人員在他們自己的專案裡輕鬆地利用這些工具。我們甚至將提供一些很酷的MSBuild任務,你可以把它們添作為你的標準的build過程的一部分讓其自動運行。

客戶端JavaScript CSS輔助類別: 現在包含了一個有用的JavaScript程式庫,允許開發人員輕鬆地添加,去除,和切換客戶端控制項和元素上的CSS 類別關聯。

Safari和 FireFox中ASP.NET Web Part的拖放支援: 你現在可以在 FireFox 和Safari 中拖放ASP.NET Web Part,早期的CTP版本對後者不支援。閱讀David Barkol這裡的部落格文章以瞭解其中細節,或者點擊這裡查看一下在Mac上Safari瀏覽器中拖放定制web part 門戶的螢幕截圖

性能和穩定性的改進: 對ScriptManager API作了改進,對處理動態加載腳本出現timeout情形的支援更充足。腳本元件現在也可以註冊dispose處理機制,以避免可能的記憶體洩漏。

從ASP.NET AJAX Beta 1升級到Beta 2

http://ajax.asp.net主頁上有個檔案,描述了如何把一個現有的ASP.NET AJAX Beta1 應用更新到使用Beta2。這應該是相對直截了當的,只需要花幾分鐘而已。有一個需要注意的問題是,你需要在現有的 Beta1 web.config檔案裡添加 "ScriptResources.axd" <httpHandler>:

<add verb="GET"
path="ScriptResource.axd"
type="Microsoft.Web.Handlers.ScriptResourceHandler"
validate="false"/>

如果你不這麼做的話,你會在運行時看到下面這個JavaScript錯誤:

『Sys』 is undefined.

希望本文對你有所幫助,

Scott

附註:這麼遲才貼出本文,對此我表示歉意。過去的幾天內,我一直忙於參加在拉斯維加斯舉行的ASP.NET Connections大會 ,要給參加今秋大會的1500多人做講座啊──wow!

標籤: , ,