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參數、設置各種提供程序等。
http://pw.cnblogs.com/archive/2006/05/21/405850.Html