ASP.NET AJAX 1.0 Beta 2 发布

Beta 2 包括三个下载(每个都支持go-live许可)

ASP.NET AJAX 1.0 Beta2: 这是ASP.NET AJAX 的核心下载,内含将由ASP.NET AJAX 1.0 完全支持(意味着微软24x7的产品支持)的全部特性。该下载同时也包括了对核心客户端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.

希望本文对你有所帮助,

可以在这里下载这个版本