ASP.NET2.0新特性概述

NO IMAGE

  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引數、設定各種提供程式等。

您可能感興趣的文章:

ASP.NET2.0快取(Cache)技術深入理解ASP.NET2.0中用Gridview控制元件運算元據的程式碼ASP.NET2.0 SQL Server資料庫連線詳解asp.net2.0實現郵件傳送(測試成功)在ASP.NET2.0中通過Gmail傳送郵件的程式碼ASP.NET2.0 SQL Server2005構建多層應用ASP.NET2.0:頁面中鏈入的CSS、js檔案帶中文時需注意ASP.NET2.0伺服器控制元件之自定義狀態管理ASP.NET2.0中資料來源控制元件之非同步資料訪問Asp.Net2.0許可權樹中Checkbox的操作ASP.Net2.0 GridView 多列排序,顯示排序圖示,分頁ASP.NET2.0伺服器控制元件之型別轉換器ASP.NET2.0資料庫入門之SQL ServerASP.NET2.0資料庫入門之SqlDataSourceasp.net2.0如何加密資料庫聯接字串ASP.NET2.0 WebRource,開發微調按鈕控制元件ASP.NET2.0伺服器控制元件之Render方法asp.net2.0中css失效的解決方法