ASP.NET AJAX 是微软专为 ASP.NET 应用程式所发展的 AJAX 基础支援,研发代号为 Atlas,原有的 ASP.NET 应用程式可以很轻松的使用 ASP.NET AJAX 所提供的基础架构,开发具有 AJAX 能力的 Web 应用程式。

早期在 ASP.NET 2.0 时开始发展,它也是早期使用 CTP (Community Technology Preview) 来代表测试版本的产品之一,在开发初期就已经受到 ASP.NET 的开发人员相当程度的关注,而在历经一年左右的开发后,于 2007 年发表了在 ASP.NET 2.0 使用的 AJAX 1.0(版本号码为 1.0.61025),目前的版本为 3.5,与 .NET Framework 3.5 一起发布。

ASP.NET AJAX 4.0 将于 2010 年上半年与 Visual Studio 2010 和 .NET Framework 4.0 一起发表。

版本

编辑
  • ASP.NET 2.0 AJAX Extensions 1.0
  • ASP.NET AJAX 3.5
  • Microsoft AJAX Library 3.5 SP1
  • ASP.NET AJAX 4.0 Preview 3

组成

编辑

ASP.NET AJAX 的组成为 System.Web.Extension.dll 以及封装在 ASP.NET AJAX 函式库中的 AJAX Core APIs,System.Web.Extension.dll 是一个 .NET assembly,它封装了四个重要的 ASP.NET AJAX 控制项:

  • ScriptManager 控制项,为 ASP.NET 提供了重要的 JavaScript 以及部份刷新 (Partial Update)页面方法 (Page Methods) 等重要性质的支援。
  • UpdatePanel 控制项,为提供即时刷新使用者介面,以及触发更新的 Control trigger。
  • UpdateProgress 控制项,可在 UpdatePanel 刷新页面的工作期间,显示一个处理中的讯息。
  • Timer 控制项,为 AJAX 的用户端提供了计时器的支援,可说是 DOM 中的 window.setInterval() 的强化实作。

ASP.NET AJAX 和其他浏览器一样,都使用 XMLHttpRequest 来与伺服端沟通,因此 ASP.NET AJAX 可以适用于许多的浏览器,例如 FirefoxOperaSafari 等,当然也包括了微软的 Internet Explorer 浏览器,但 ASP.NET 开发人员可以在完全没有 AJAX 基础知识的情况下,开发出 AJAX-enabled(具有 AJAX 功能)的 Web 应用程式[1]

架构

编辑

ASP.NET AJAX 分为 Server 和 Client 两个架构[2]

Server 端的元件包含:

  • Scripting Services,包含对 AJAX 的 scripting 的控制,例如 debug,全球化,本地语系化等。
  • Web Services,设定 Web Service 的路径,让 AJAX Client 可以抓取 Web Service 的参数。
  • Application Services,让 AJAX Client 可以使用 ASP.NET 2.0 的 Membership 和 Profile 服务。
  • Server Controls,包含 ASP.NET AJAX 的四个主要控制项。

Client 端的元件包含:

  • Components:非视觉化元件的支援。
  • Browser Capabilities:为个别浏览器所提供的支援。
  • Networking:对网路存取的支援,包含非同步处理,JSON,WebRequest,Web Service 与 Application Service
  • Core:对 JavaScript 的基础支援,例如 events,序列化,型别系统等。

微软也开放了用户端的 ASP.NET AJAX Library 的原始程式码,供开发人员做客制化使用[3]

AJAX Control Toolkit

编辑

AJAX Control Toolkit 是一个基于 ASP.NET AJAX 平台上开发的一组控制项工具箱[4],在2011年7月31日的版本,它包含了下列 41 个常在 Web 开发中使用到的控制项,可供开发人员免费使用与散布。

  • Accordion
  • AlwaysVisibleControl
  • Animation
  • AsyncFileUpload
  • AutoComplete
  • Calendar
  • CascadingDropDown
  • CollapsiblePanel
  • ColorPicker
  • ComboBox
  • ConfirmButton
  • DragPanel
  • DropDown
  • DropShadow
  • DynamicPopulate
  • FilteredTextBox
  • HoverMenu
  • HTMLEditor
  • HTMLEditorExtender
  • ListSearch
  • MaskedEdit
  • ModalPopup
  • MultiHandleSlider
  • MutuallyExclusiveCheckBox
  • NoBot
  • NumericUpDown
  • PagingBulletedList
  • PasswordStrength
  • PopupControl
  • Rating
  • ReorderList
  • ResizableControl
  • RoundedCorners
  • Seadragon
  • Slider
  • SlideShow
  • Tabs
  • TextBoxWatermark
  • ToggleButton
  • UpdatePanelAnimation
  • ValidatorCallout

参考资料

编辑
  1. ^ Browser Compatibility with ASP.NET AJAX. [2008-09-13]. (原始内容存档于2008-09-17). 
  2. ^ ASP.NET AJAX Overview. [2008-09-13]. (原始内容存档于2008-09-14). 
  3. ^ ASP.NET AJAX Downloads. [2008-09-13]. (原始内容存档于2008-09-12). 
  4. ^ AJAX Control Toolkit. [2008-09-13]. (原始内容存档于2008-09-13).