ASP.NET2.0新特性概述

來源:互聯網
上載者:User
asp.net

ASP.NET技術從1.0版本升級到1.1變化不是很大。然而,從ASP.NET 1.x升級到2.0,卻不是件輕而易舉事情。ASP.NET 2.0技術增加了大量方便、實用的新特性。ASP.NET 2.0主要提供控制項、頁面架構、服務與APIs等3個方面的技術特性。

 

   

    控制項

        在ASP.NET 1.x時代,由於內建伺服器控制項數量有限、功能覆蓋面窄,因此,開發人員怨聲載道。為了消除這個技術軟肋,ASP.NET 2.0做出了突破性改進。在ASP.NET 2.0中,新增數十個伺服器控制項。根據控制項功能特徵,可分為:資料控制項(包括資料來源控制項和資料繫結控制項)、登入系列控制項、Web組件、網站導覽控制項和其他控制項等。這些伺服器控制項對於提高工作效率,降低開發成本有著重要作用。

    頁面架構

        在頁面架構方面,ASP.NET 2.0同樣做出了重大改進,主要體現在以下4項技術特性:主版頁面、主題和皮膚、編譯機制和本地化。主版頁面特性在大型Web網站中應用廣泛,它能夠在一定程度上代替架構頁功能,從而迅速建立具有統一布局和外觀的頁面,並且有效降低維護人員的工作強度。主題和皮膚是ASP.NET 2.0的一項新增功能,使用此功能可以一次性設定一種類型的伺服器控制面板樣式。該外觀可方便地應用於單個頁面、整個Web應用程式,甚至整個伺服器。在應用程式編譯方面,ASP.NET 2.0提供了幾種替代方案,從而擴大了編譯的選擇範圍,開發人員可以根據特定需要進行選擇。另外,ASP.NET 2.0在本地化方面也做出了一些改進。

    服務與APIs

        這個部分包括的新特性在ASP.NET 2.0中佔有較大比例,主要包括成員資格管理、角色管理、使用者配置、資料緩衝、配置與管理工具等。利用這些功能,可以快速實現使用者和角色管理、個人化使用者配置、資料緩衝、應用程式可視化配置等任務。以成員資格和角色管理功能為例,在ASP.NET 1.x時代,實現這兩項功能是比較繁瑣和困難的;而在ASP.NET 2.0中不僅提供預設資料庫表,而且只需調用幾個簡單的方法,就能夠輕鬆地實現成員和角色管理功能。

 


一、新增伺服器控制項
 
在ASP.NET 1.x時代,有很多開發人員對其中的內建伺服器控制項提出批評。主要的觀點是ASP.NET 1.x提供的控制項數量太少,難以滿足日益增長的開發需求,無法更快更好地開發應用程式。為了彌補ASP.NET 1.x的不足,ASP.NET 2.0新增了數十個伺服器控制項。根據控制項功能,可以分為網站導覽控制項、資料控制項(包括資料來源控制項和資料繫結控制項)、登入系列控制項、Web組件和其他伺服器控制項等。熟練使用這些伺服器控制項對於提供工作效率、減低開發成本有著重要意義。


1、網站導覽控制項
  
在ASP.NET 1.x時期,微軟發布了一組IE Web Control控制項(非內建控制項),其中包括一個實現樹形結構的TreeView控制項,它就是典型的網站導覽控制項。在ASP.NET 2.0中,不僅包含和擴充了原有的TreeView,而且還新增了另外兩個控制項。

網站導覽控制項主要用於實現網站頁面導航功能。網站導覽控制項包括SiteMapPath、Menu和TreeView控制項。SiteMapPath控制項能夠根據網站導覽資訊,準確定位當前頁面所處整個Web網站的位置,同時,使用層次化表示方法,將位置資訊顯示為有序的靜態文本或者超連結。另外,還可以通過調整相關屬性,自訂位置資訊的外觀以及實現資料繫結等功能。Menu控制項可構建與Windows應用程式類似的菜單。該控制項不僅可與多種資料來源控制項整合,而且還可以支援自訂外觀、事件處理等功能。TreeView控制項主要用於顯示樹形結構,該樹與Windows資源管理員中的樹類似。同時,該控制項還支援資料繫結、自訂外觀等功能。

2、資料控制項
ASP.NET 2.0的資料控制項可細分為兩類:一類是資料來源控制項,另一類是資料繫結控制項。資料來源控制項包括SqlDataSource、AccessDataSource、XmlDataSource、SiteMapDataSource和ObjectDataSource。這些控制項主要實現串連不同資料來源、資料檢索和修改功能,例如,查詢、排序、分頁、篩選、更新、刪除和插入等。資料繫結控制項主要包括GridView、DetailsView和FormView等。這些控制項可與資料來源控制項配合,將擷取的資料以不同形式顯示在頁面上。由於資料來源控制項和資料繫結控制項支援良好的可視化設計時功能,因此,當利用Visual Studio 2005實現資料訪問時,甚至不需要編寫任何代碼就能夠完成任務。

3、登入系列控制項
很多Web網站都提供了使用者登入驗證以及相關功能。常見功能包括使用者登入、建立新使用者等。總體而言,實現這些功能的基本方法比較類似,然而,由於開發人員的水平差異,可能造成一些不必要的漏洞和錯誤。為瞭解決這個問題,ASP.NET 2.0將與登入驗證相關的實現整合為登入系列控制項。這些控制項包括:Login、LoginName、LoginView、LoginStatus、PasswordRecovery、ChangePassword和CreateUserWizard。利用這些控制項可以輕鬆實現登入驗證、建立新使用者、顯示登入狀態、顯示登入使用者名稱、更新和重設密碼等。出於靈活性考慮,登入系列控制項不僅提供了大量成員對象,而且還支援自訂模板功能(部分控制項支援)。另外,登入系列控制項還加強了安全方面的控制。例如,預設情況下,登入系列控制項是以純文字形式工作於HTTP上。如果應用程式對安全性十分關注,那麼可以使用帶SSL加密的HTTPS。
Login控制項用於實現使用者登入驗證,CreateUserWizard控制項用於建立新使用者。可能讀者會沿襲ASP.NET 2.0之前的思路,認為實現以上兩種應用需要添加多個文字框、按鈕等元素,並設計實現資料庫、資料訪問邏輯等。實際上,使用Login和CreateUserWizard控制項實現以上應用,非常簡單,簡單到不需要編寫任何代碼,不需要自建資料庫,只需添加和設定控制項即可。

4、web組件
Web組件是ASP.NET 2.0新增功能。如果曾經開發應用過SharePoint,那麼對Web組件應該不會感到陌生。ASP.NET 2.0的Web組件功能包括多個伺服器控制項,例如,實現WebPart控制項管理和控制的WebPartManager、實現編輯WebPart控制項的EditorZone和EditorPart系列控制項、實現目錄管理的CatalogZone和CatalogPart系列控制項、實現WebPart通訊的ConnectionZone控制項等。利用它們可以建立具有高度靈活性和個人化的Web網站。

5、其他伺服器控制項
除上文介紹的4類控制項之外,ASP.NET 2.0新增了其他伺服器控制項。這些控制項包括BulletedList、HiddenField、FileUpload、ImageMap、MultiView(View)和Wizard。

二、主版頁面
 

每個網站都應具有統一的風格和布局。不同技術時代,給出了不同的解決方案。例如,在ASP技術時期,使用#include命令,在ASP.NET 1.x時期,主要使用使用者控制項。ASP.NET 2.0技術時期,則可以使用構建頁面配置架構的技術特性—主版頁面。

主版頁面是副檔名為.master的檔案,其代碼內容和結構與普通.aspx檔案類似。注意代碼中包括一個或多個ContentPlaceHolder控制項。在建立主版頁面時,需要將頁面公用部分儲存於主版頁面中,例如,頁面公用的頁頭、頁尾等,而頁面非公用部分則使用ContentPlaceHolder控制項實現佔位。內容頁檔案雖然副檔名為.aspx,但是代碼內容和結構與普通.aspx檔案代碼相距甚遠,其代碼分為兩個部分:代碼頭聲明一個或多個Content控制項。開發人員需要在內容頁代碼頭綁定主版頁面,同時,將頁面非公用部分內容設定在Content控制項標籤之間。在運行時,使用者不能直接請求主版頁面,只能請求訪問內容頁。此時,主版頁面和內容頁將合并產生結果頁,結果頁麵包含頁面公用部分和非公用部分的運行結果。

三、主題和皮膚


在未接觸主題和皮膚功能之前,你可能已經習慣於使用階層式樣式表(CSS)設定頁面和控制項等元素外觀和樣式。雖然在ASP.NET 1.x開發中,CSS同樣適用,但是如果碰到一些複雜控制項,例如,Calendar、GridView,那麼設定CSS將變得比較困難。如果能夠完全根據控制項自身外觀和樣式屬性,而不僅限於CSS中規定元素,來設定伺服器控制項,那麼整個實現過程將變得比較簡單。ASP.NET 2.0中的主題和皮膚功能就能夠提供這樣的便利。

所謂“主題”是指頁面和控制面板屬性設定的集合。主題由一組檔案構成,可能包括皮膚檔案、CSS檔案、圖片和其他資源等。這些檔案必須儲存在App_Themes檔案夾中。皮膚檔案是主題的核心內容。這種檔案的副檔名為.skin,其中包含各種伺服器控制項的各種屬性設定。利用主題功能,不僅能夠定義頁面和控制項的外觀,還可以在所有Web應用程式、單個Web應用程式的所有頁面或者單個Web頁面中,快速一致地應用所定義外觀。另外,還可以根據應用程式需要動態載入主題。

四、個人化使用者配置
 

儲存和訪問使用者配置資料一直是開發人員關注的熱點。在ASP.NET 1.x時代,實現這一功能主要通過Session、Application等對象或者採用資料庫儲存的方法。這兩種方法都有著本身不可克服的缺點。例如,使用前者容易發生資料丟失的情況,而使用後者比較繁瑣,例如,需要自行設計實現資料庫及訪問資料的代碼。為瞭解決以上問題,ASP.NET 2.0新增了個人化使用者配置功能。

個人化使用者配置功能主要用於儲存單個使用者配置資料,這些資料可以是單一資料型別,也可以是複雜資料類型,甚至自訂對象等。同時,單個使用者既可以是匿名使用者,也可以是註冊使用者。預設情況下,所有使用者配置資料都儲存在SQL Server資料庫中,並且無需自行建立和維護該資料庫,這些工作都由ASP.NET 2.0自動完成。個人化使用者配置功能還支援從應用程式中任何位置訪問的多種強型別API,以方便儲存、顯示和系統管理使用者配置資訊。使用個人化使用者配置功能非常簡單。首先,在Web.config檔案中定義配置資訊名稱、資料類型等,然後,調用與使用者配置功能有關的強型別API,例如,Profile實現對使用者配置資訊的儲存、訪問和管理等應用。

五、成員資格和角色管理


多數網站的後台管理中,幾乎都包括使用者成員和角色管理功能,例如,建立、修改、刪除使用者和角色,為使用者佈建角色,管理角色中的使用者等。在使用ASP.NET 1.x版本時,實現這些功能的主要方法是,首先,設計建立成員庫表、角色庫表等,然後,編寫代碼實現具體功能。實現所有功能可能需要花費不少的時間和精力,並且過程繁瑣,容易出現錯誤。然而,使用ASP.NET 2.0新增的成員資格和角色管理功能則可以很好地解決這個問題。

成員資格和角色管理功能的核心是利用自動產生的資料庫表、多個實現管理功能的API、成員資格和角色管理提供者,實現模組化和自動化的成員資格和角色管理員模式。具體而言,包括建立和系統管理使用者和角色資訊、實現對多種資料來源中使用者和角色資訊的管理、驗證訪問應用程式的使用者憑證、支援使用Cookie緩衝角色資訊、實現角色管理與成員資格管理等功能的整合。

六、配置和管理工具

為了快速方便地實現應用程式配置和管理,ASP.NET 2.0提供了兩個內建的視覺化檢視:一個是ASP.NET MMC嵌入式管理單元,另一個是Web網站管理工具。
 

如果電腦中安裝了Internet資訊服務(IIS)和.NET Framework 2.0,那麼開啟IIS即可使用ASP.NET MMC嵌入式管理單元。利用該工具可對指定應用程式的連接字串、應用程式配置、自訂錯誤、授權、身分識別驗證、公用編譯、頁和運行時、全球化和標識、應用程式狀態、位置等方面進行全面設定。所有設定結果都將顯示在應用程式Web.config檔案中。從這一角度而言,ASP.NET MMC嵌入式管理單元是一個用於編輯Web.config檔案的圖形化工具。

如果使用Visual Studio 2005建立ASP.NET 2.0應用程式,那麼可以調用Web網站管理工具。與ASP.NET MMC管理工具不同的是,Web網站管理工具是一個Web應用程式,而不是一個Windows應用程式。Web網站管理工具提供了對指定Web應用程式的安全、應用程式配置、提供者等多方面的設定。例如,建立系統管理使用者和角色資訊、設定SMTP參數、設定各種提供者等。

 



相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.