盤點ASP.NET Ajax工具箱的10大頂級控件
默認情況下,.NET Framework僅自帶了最基本的Ajax控件,如UpdatePanel,UpdateProgress等,如果你想讓現有ASP.NET應用程序Ajax化,最簡單的方法就是利用Ajax控件工具箱中的擴展控件,但Visual Studio默認并沒有附帶Ajax工具箱,你需要從這里下載,將其添加到Visual Studio工具箱中之后就可以在ASP.NET應用程序中使用了,注意,本文是針對.NET Framework 3.5而非4.0的。
1、自動完成擴展(AutoComplete)
這是我最喜歡的一個ASP.NET TextBox控件的擴展控件,當用戶在文本框中輸入字符時,它以下拉列表形式顯示所有有效的值讓用戶選擇,被選中的值自動填充到TextBox控件中,這個控件在很多ASP.NET應用程序中都得到了應用,圖1顯示了一個簡單的示例。
圖 1 自動完成控件運行效果
這個控件在提供搜索功能時用得最多,它可以為用戶提供搜索建議,下拉列表中的內容通過一個Web服務進行暴露。
2、動畫擴展(Animation)
如果你想使用ASP.NET Ajax制作一個很花俏的網站,那你應該嘗試一下動畫控件,它可以節省開發人員創建動畫需要的大量時間,它可以作為任何ASP.NET控件的擴展。
使用動畫擴展可以輕松創建褪色,移動,改變大小和著色等許多效果,當目標控件觸發下列事件時可以調用這些動畫效果。
• OnLoad
• OnClick
• OnMouseOver
• OnMouseOut
• OnHoverOver
• OnHoverOut
圖2顯示了一個DIV標簽中目標控件被點擊時的示例動畫效果。
圖 2 動畫控件運行效果
3、拾色器擴展(Colorpicker)
它可以作為TextBox控件的擴展控件,點擊TextBox控件時,彈出顏色拾取面板,用戶可以在這個窗口中進行顏色選擇,如圖3所示。
圖 3 顏色拾取控件
如果沒有這個擴展控件,我不知道自己創建這樣一個控件會有多大的難度,這也是我將其列在10大控件之中的原因,我也承認在ASP.NET應用程序中使用這個控件的時候很少。
4、模態彈出擴展(Modalpopup)
這是一個幾乎適用于所有ASP.NET服務端容器控件的擴展,它允許你以一種平滑的方式顯示服務器控件,它允許你給目標控件編寫服務端代碼,但客戶端代碼更快,用戶體驗更好,不過總歸逃不脫要編寫服務端代碼,這個擴展為這種情況提供了極大的便利。
這個控件讓彈出效果更平滑,更清爽,用戶體驗更豐富,當然你還可以提供服務端代碼,圖4顯示了一個簡單的示例。
圖 4 模態彈出控件示例
5、可折疊面板擴展(CollapsiblePanel)
當你的網頁大部分由控件和文本內容組成時,聰明的人會將它們分組放在不同面板下,在分組頂部使用可折疊面板擴展,增加頁面的層次感,這是一個ASP.NET面板的擴展控件,它非常有用,是使用最廣泛的擴展控件之一,圖5顯示了一個簡單的可折疊面板擴展示例。
圖 5 可折疊面板示例
6、動態填充擴展(Dynamic Populate)
這是一個非常有用功能強大的擴展控件,它為改變使用Ajax的控件中的HTML內容提供了方便,控件的HTML內容修改由TargetControlID控制,內容填充由PopulateTriggerControlId觸發,HTML內容應該由Web服務提供。
當你創建一個動態網頁時,這個擴展很有用,你不必一開始就加載所有內容,而是根據上下文環境進行顯示和隱藏,需要時才顯示動態內容,因此這樣可以極大地減少頁面大小,提高頁面性能。
7、幻燈效果擴展(Slide Show)
這個擴展實際上是一個ASP.NET圖像控件,借助它可以輕松創建出幻燈片播放效果,你需要做的是通過WebMethod提供幻燈顯示的圖像,它提供了下一頁,上一頁,播放/停止按鈕和標題標簽,圖6顯示了一個簡單的幻燈顯示效果示例。
圖 6 幻燈顯示效果擴展
8、選項卡控件(Tabs)
嚴格來說,它不能算作一個擴展,因為選項卡是一個獨立的控件,在開發ASP.NET網頁時最讓我頭痛的就是創建選項卡,必須結合使用JavaScript和HTML,選項卡的優點是讓頁面變得更美觀,讓導航變得更平滑,允許.NET開發人員按一定邏輯將項目進行分組,有TabContainer的選項卡控件是一個容器,它可以包含多個TabPanels,即子選項卡,圖7顯示了一個簡單的選項卡示例。
圖 7 選項卡控件示例
9、HTML編輯器控件(HTML Editor)
和選項卡控件一樣,HTML編輯器也是一個獨立的控件,它為最終用戶提供了豐富的HTML文本編輯功能,現在你在網頁上見到的HTML編輯器功能都已經非常強大了。
在后臺編輯文章或來訪者發表評論的地方,都可以使用HTML編輯器,當然你可以限制提交的內容,如后臺編輯時通常可以是全HTML格式的內容,而評論則只能是純文本的內容,圖8顯示了一個簡單的HTML編輯器示例。
圖 8 HTML編輯器控件
10、列表搜索擴展(ListSearch)
這個擴展可以是一個列表框控件,也可以是一個下拉列表控件,用戶輸入字母就可以搜索列表框或下拉列表中的內容,圖9顯示了一個簡單的列表搜索擴展示例。
圖 9 列表搜索擴展
小結
毫無疑問,Ajax控件工具箱擴展讓我們的ASP.NET Web應用程序變得更豐富多彩,提供更好的用戶體驗,所有Ajax控件工具箱擴展中的CSS和動畫都可以自定義,也就是說,你可以發揚Hack精神,將頁面效果和用戶體驗做到極致。