經常關注我的Blog的朋友可能注意到了,在我Blog的左邊系列文章中,已經移除了對Atlas學習手記系列文章的推薦,因爲隨着ASP.NET AJAX 1.0 Beta版的發佈,它們已經不再適用,爲了不繼續誤導廣大朋友,所以不再作爲推薦系列文章,如果有需要參考的朋友,可以直接到隨筆分類中查看。
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 AJAX
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的工具箱中,不需要再手工添加。