ASP.NET AJAX Beta改动如此之大,鉴于又没有很好的中文参考资料,所以决定最近开始写作ASP.NET AJAX入门系列,这个系列我会把ASP.NET AJAX当作一个全新的东西去对待,不再考虑以前的Atlas,把自己对ASP.NET AJAX的研究与大家分享,便于初学的朋友少走一些弯路。对Atlas熟悉的朋友可以推荐看Dflying Chen的《拥抱变化——从Atlas到ASP.NET AJAX系列》,以及老赵的《深入Atlas系列》。由于个人的能力和掌握的程度有限 ,难免出现错误和遗漏的地方,还请大家多多理解和指正。
OK,让我们从这里开始!
一.ASP.NET AJAX组成部分
在ASP.NET AJAX官方网站上有如下三个下载:
1.ASP.NET AJAX:这部分是ASP.NET AJAX的核心部分,包括了核心AJAX类型系统,网络协议层(networking stack),组件模型,扩展器(extender)基类,以及与ASP.NET集成的服务器端功能(包括广受欢迎的ScriptManager,UpdatePanel,和 Timer控件)。功能列表如下:
服务端功能列表 |
Asynchronous client-to-server networking |
Authentication as a Web service |
ControlExtender class |
Profile as a Web service |
ScriptManager and ScriptManagerProxy controls |
Static page methods as Web services |
Timer control |
UpdatePanel control |
UpdateProgress control |
客户端功能列表 |
Authentication for JavaScript |
Behavior class |
Calling .asmx Web services from JavaScript |
Component class |
Control class |
Debug class |
JavaScript Array type extensions |
JavaScript Boolean type extensions |
JavaScript Error type extensions |
JavaScript Number type extensions |
JavaScript Object type extensions |
JavaScript String type extensions |
JSON serialization |
Profile for JavaScript |
Trace class |
2.ASP.NET AJAX “Value-Add”CTP:ASP.NET AJAX社区支持的“增值”CTP部分,包括了以前各个Atlas CTP版本包含的,但并不在完全支持的“核心”1.0 版本内的额外的高级特性。通过进一步的反馈,这些将会逐步稳定的增加到核心1.0中去。功能列表如下:
服务端功能列表 |
AutoCompleteExtender class |
Cross-browser Web Parts drag-and-drop |
DragOverlayExtender control |
PopupExtender class |
客户端功能列表 |
Actions components |
AutoCompleteBehavior class |
BatchResponse class |
Binding component |
Button control |
Checkbox control |
Click behavior |
Counter class |
Cross-browser Web Parts |
Data control |
DragDropList control |
DragDropManager component |
DraggableListItem control |
FadeAnimation component Floating behavior |
Hover behavior |
Hyperlink control |
Image control |
Input control |
Label control |
Layout behavior |
Opacity behavior |
Popup behavior |
Selector control |
ServiceMethodRequest class |
Sys.Data and Sys.UI.Data namespaces |
Textbox control |
Timer control |
Validator controls |
xml-script support |
3.ASP.NET AJAX Control Toolkit:包含了基于ASP.NET AJAX 1.0 版“核心”下载版本的28个非常酷的免费AJAX控件。它是一个开源项目,由微软和非微软开发人员共同开发的,去CodePlex下载代码。
二.安装ASP.NET
1.在安装ASP.NET AJAX 1.0 Beta之前,需要先卸载以前所有的CTP版本。
2.下载ASP.NET AJAX 1.0 Beta安装包,安装时Microsoft.Web.Extensions.dll程序集将被安装在GAC(Global Assembly Cache)中,所以使用时不需要再在Web站点的Bin文件夹中包括该程序集。
3.下载安装ASP.NET AJAX “Value-Add”CTP和ASP.NET AJAX Control Toolkit。列表如下:
名称 |
描述 |
Accordion: |
Create efficient UI from multiple panes with this animated control. |
AlwaysVisibleControl |
Docks a panel to a corner of the browser window and keeps it visible even when the user scrolls. |
Animation |
Adds powerful, easy to use animations to any element or control. |
CascadingDropDown |
Easily link drop downs, complete with asynchronous population and no postbacks! |
CollapsiblePanel |
This extender allows panels on your page to collapse and expand with no code. |
ConfirmButton |
This extender adds a confirm dialog to any Button, LinkButton, or ImageButton control. |
DragPanel |
Makes any panel into an object that you can drag around the page. |
DropDown |
This extender can wrap any control to provide a SharePoint-style drop-down menu that is attached to the control. |
DropShadow |
This extender adds attractive drop shadows to any control on the page |
DynamicPopulate |
Replace the contents of a page element with the result of a web-service call. |
FilteredTextBox |
Restrict the types of input that text boxes will accept. |
HoverMenu |
Allows UI to pop up next to a control when the mouse hovers over it. |
ModalPopup |
Allows you to show styled modal UI without using HTML dialogs. |
MutuallyExlcusiveCheckBox |
By adding a number of checkboxes to the same “Key”, only one checkbox with the specified key can be checked at a time. |
NoBot |
Applies simple rules to prevent automated bots or scripts from posting to a page. |
NumericUpDown |
Allow users to easily increase and decrease values using the mouse to scroll through values. |
PagingBulletedList |
Add paging and sorting to long bulleted lists. |
PasswordStrength |
Give your users visual cues to help them create secure passwords. |
PopupControl |
This extender turns any panel into a popup. |
Rating |
Let your users easily give feedback by rating content with this easy-to-use control. |
ReorderList |
This control is a full-featured data-bound control that allows its elements to be reordered on the client via drag and drop. |
ResizableControl |
Allow users to dynamically resize content, right in the browser |
RoundedCorners |
Rounds the corners of any control for a clean, professional look! |
Slider |
Adds an elegant scrollbar-like user interface for setting numeric values. |
TextBoxWatermark |
This extender adds "watermark" prompt text to TextBoxes on the page. |
ToggleButton |
This extender turns an ASP.NET CheckBox into an image checkbox. |
UpdatePanelAnimation |
Animates page elements corresponding to hidden postback activity. |
ValidatorCallout |
This extender enhances the functionality of existing ASP.NET validators. |
三.在Visual Studio.NET 2005开发基于ASP.NET AJAX的应用
安装完ASP.NET AJAX后,打开Visual Studio.NET 2005中新建Web Site,在项目模板中会出现一项ASP.NET AJAX-enabled Web site,直接选择它就可以了,如下图:
新建完成的项目中会自动在Web.config中做好相关的配置,并且AJAXExtensionToolbox.dll已经添加到了VS的工具箱中,不需要再手工添加。