ASP.NET2.0新特性概述
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時代,由于內置服務器控件數(shù)量有限、功能覆蓋面窄,因此,開發(fā)人員怨聲載道。為了消除這個技術軟肋,ASP.NET 2.0做出了突破性改進。在ASP.NET 2.0中,新增數(shù)十個服務器控件。根據(jù)控件功能特征,可分為:數(shù)據(jù)控件(包括數(shù)據(jù)源控件和數(shù)據(jù)綁定控件)、登錄系列控件、Web部件、站點導航控件和其他控件等。這些服務器控件對于提高工作效率,降低開發(fā)成本有著重要作用。
頁面框架
在頁面框架方面,ASP.NET 2.0同樣做出了重大改進,主要體現(xiàn)在以下4項技術特性:母版頁、主題和皮膚、編譯機制和本地化。母版頁特性在大型Web站點中應用廣泛,它能夠在一定程度上代替框架頁功能,從而迅速建立具有統(tǒng)一布局和外觀的頁面,并且有效降低維護人員的工作強度。主題和皮膚是ASP.NET 2.0的一項新增功能,使用此功能可以一次性設置一種類型的服務器控件外觀樣式。該外觀可方便地應用于單個頁面、整個Web應用程序,甚至整個服務器。在應用程序編譯方面,ASP.NET 2.0提供了幾種替代方案,從而擴大了編譯的選擇范圍,開發(fā)人員可以根據(jù)特定需要進行選擇。另外,ASP.NET 2.0在本地化方面也做出了一些改進。
服務與APIs
這個部分包括的新特性在ASP.NET 2.0中占有較大比例,主要包括成員資格管理、角色管理、用戶配置、數(shù)據(jù)緩存、配置與管理工具等。利用這些功能,可以快速實現(xiàn)用戶和角色管理、個性化用戶配置、數(shù)據(jù)緩存、應用程序可視化配置等任務。以成員資格和角色管理功能為例,在ASP.NET 1.x時代,實現(xiàn)這兩項功能是比較繁瑣和困難的;而在ASP.NET 2.0中不僅提供默認數(shù)據(jù)庫表,而且只需調用幾個簡單的方法,就能夠輕松地實現(xiàn)成員和角色管理功能。
一、新增服務器控件
在ASP.NET 1.x時代,有很多開發(fā)人員對其中的內置服務器控件提出批評。主要的觀點是ASP.NET 1.x提供的控件數(shù)量太少,難以滿足日益增長的開發(fā)需求,無法更快更好地開發(fā)應用程序。為了彌補ASP.NET 1.x的不足,ASP.NET 2.0新增了數(shù)十個服務器控件。根據(jù)控件功能,可以分為站點導航控件、數(shù)據(jù)控件(包括數(shù)據(jù)源控件和數(shù)據(jù)綁定控件)、登錄系列控件、Web部件和其他服務器控件等。熟練使用這些服務器控件對于提供工作效率、減低開發(fā)成本有著重要意義。
1、站點導航控件
在ASP.NET 1.x時期,微軟發(fā)布了一組IE Web Control控件(非內置控件),其中包括一個實現(xiàn)樹形結構的TreeView控件,它就是典型的站點導航控件。在ASP.NET 2.0中,不僅包含和擴展了原有的TreeView,而且還新增了另外兩個控件。
站點導航控件主要用于實現(xiàn)站點頁面導航功能。站點導航控件包括SiteMapPath、Menu和TreeView控件。SiteMapPath控件能夠根據(jù)站點導航信息,準確定位當前頁面所處整個Web站點的位置,同時,使用層次化表示方法,將位置信息顯示為有序的靜態(tài)文本或者超鏈接。另外,還可以通過調整相關屬性,自定義位置信息的外觀以及實現(xiàn)數(shù)據(jù)綁定等功能。Menu控件可構建與Windows應用程序類似的菜單。該控件不僅可與多種數(shù)據(jù)源控件集成,而且還可以支持自定義外觀、事件處理等功能。TreeView控件主要用于顯示樹形結構,該樹與Windows資源管理器中的樹類似。同時,該控件還支持數(shù)據(jù)綁定、自定義外觀等功能。
2、數(shù)據(jù)控件
ASP.NET 2.0的數(shù)據(jù)控件可細分為兩類:一類是數(shù)據(jù)源控件,另一類是數(shù)據(jù)綁定控件。數(shù)據(jù)源控件包括SqlDataSource、AccessDataSource、XmlDataSource、SiteMapDataSource和ObjectDataSource。這些控件主要實現(xiàn)連接不同數(shù)據(jù)源、數(shù)據(jù)檢索和修改功能,例如,查詢、排序、分頁、篩選、更新、刪除和插入等。數(shù)據(jù)綁定控件主要包括GridView、DetailsView和FormView等。這些控件可與數(shù)據(jù)源控件配合,將獲取的數(shù)據(jù)以不同形式顯示在頁面上。由于數(shù)據(jù)源控件和數(shù)據(jù)綁定控件支持良好的可視化設計時功能,因此,當利用Visual Studio 2005實現(xiàn)數(shù)據(jù)訪問時,甚至不需要編寫任何代碼就能夠完成任務。
3、登錄系列控件
很多Web站點都提供了用戶登錄驗證以及相關功能。常見功能包括用戶登錄、創(chuàng)建新用戶等??傮w而言,實現(xiàn)這些功能的基本方法比較類似,然而,由于開發(fā)人員的水平差異,可能造成一些不必要的漏洞和錯誤。為了解決這個問題,ASP.NET 2.0將與登錄驗證相關的實現(xiàn)集成為登錄系列控件。這些控件包括:Login、LoginName、LoginView、LoginStatus、PasswordRecovery、ChangePassword和CreateUserWizard。利用這些控件可以輕松實現(xiàn)登錄驗證、創(chuàng)建新用戶、顯示登錄狀態(tài)、顯示登錄用戶名、更新和重置密碼等。出于靈活性考慮,登錄系列控件不僅提供了大量成員對象,而且還支持自定義模板功能(部分控件支持)。另外,登錄系列控件還加強了安全方面的控制。例如,默認情況下,登錄系列控件是以純文本形式工作于HTTP上。如果應用程序對安全性十分關注,那么可以使用帶SSL加密的HTTPS。
Login控件用于實現(xiàn)用戶登錄驗證,CreateUserWizard控件用于創(chuàng)建新用戶??赡茏x者會沿襲ASP.NET 2.0之前的思路,認為實現(xiàn)以上兩種應用需要添加多個文本框、按鈕等元素,并設計實現(xiàn)數(shù)據(jù)庫、數(shù)據(jù)訪問邏輯等。實際上,使用Login和CreateUserWizard控件實現(xiàn)以上應用,非常簡單,簡單到不需要編寫任何代碼,不需要自建數(shù)據(jù)庫,只需添加和設置控件即可。
4、web部件
Web部件是ASP.NET 2.0新增功能。如果曾經開發(fā)應用過SharePoint,那么對Web部件應該不會感到陌生。ASP.NET 2.0的Web部件功能包括多個服務器控件,例如,實現(xiàn)WebPart控件管理和控制的WebPartManager、實現(xiàn)編輯WebPart控件的EditorZone和EditorPart系列控件、實現(xiàn)目錄管理的CatalogZone和CatalogPart系列控件、實現(xiàn)WebPart通信的ConnectionZone控件等。利用它們可以創(chuàng)建具有高度靈活性和個性化的Web站點。
5、其他服務器控件
除上文介紹的4類控件之外,ASP.NET 2.0新增了其他服務器控件。這些控件包括BulletedList、HiddenField、FileUpload、ImageMap、MultiView(View)和Wizard。
二、母版頁
每個站點都應具有統(tǒng)一的風格和布局。不同技術時代,給出了不同的解決方案。例如,在ASP技術時期,使用#include命令,在ASP.NET 1.x時期,主要使用用戶控件。ASP.NET 2.0技術時期,則可以使用構建頁面布局框架的技術特性—母版頁。
母版頁是擴展名為.master的文件,其代碼內容和結構與普通.aspx文件類似。注意代碼中包括一個或多個ContentPlaceHolder控件。在創(chuàng)建母版頁時,需要將頁面公共部分存儲于母版頁中,例如,頁面公用的頁頭、頁尾等,而頁面非公共部分則使用ContentPlaceHolder控件實現(xiàn)占位。內容頁文件雖然擴展名為.aspx,但是代碼內容和結構與普通.aspx文件代碼相距甚遠,其代碼分為兩個部分:代碼頭聲明一個或多個Content控件。開發(fā)人員需要在內容頁代碼頭綁定母版頁,同時,將頁面非公共部分內容設置在Content控件標簽之間。在運行時,用戶不能直接請求母版頁,只能請求訪問內容頁。此時,母版頁和內容頁將合并生成結果頁,結果頁面包含頁面公共部分和非公共部分的運行結果。
三、主題和皮膚
在未接觸主題和皮膚功能之前,你可能已經習慣于使用級聯(lián)樣式表(CSS)設置頁面和控件等元素外觀和樣式。雖然在ASP.NET 1.x開發(fā)中,CSS同樣適用,但是如果碰到一些復雜控件,例如,Calendar、GridView,那么設置CSS將變得比較困難。如果能夠完全根據(jù)控件自身外觀和樣式屬性,而不僅限于CSS中規(guī)定元素,來設置服務器控件,那么整個實現(xiàn)過程將變得比較簡單。ASP.NET 2.0中的主題和皮膚功能就能夠提供這樣的便利。
所謂“主題”是指頁面和控件外觀屬性設置的集合。主題由一組文件構成,可能包括皮膚文件、CSS文件、圖片和其他資源等。這些文件必須存儲在App_Themes文件夾中。皮膚文件是主題的核心內容。這種文件的擴展名為.skin,其中包含各種服務器控件的各種屬性設置。利用主題功能,不僅能夠定義頁面和控件的外觀,還可以在所有Web應用程序、單個Web應用程序的所有頁面或者單個Web頁面中,快速一致地應用所定義外觀。另外,還可以根據(jù)應用程序需要動態(tài)加載主題。
四、個性化用戶配置
存儲和訪問用戶配置數(shù)據(jù)一直是開發(fā)人員關注的熱點。在ASP.NET 1.x時代,實現(xiàn)這一功能主要通過Session、Application等對象或者采用數(shù)據(jù)庫存儲的方法。這兩種方法都有著本身不可克服的缺點。例如,使用前者容易發(fā)生數(shù)據(jù)丟失的情況,而使用后者比較繁瑣,例如,需要自行設計實現(xiàn)數(shù)據(jù)庫及訪問數(shù)據(jù)的代碼。為了解決以上問題,ASP.NET 2.0新增了個性化用戶配置功能。
個性化用戶配置功能主要用于存儲單個用戶配置數(shù)據(jù),這些數(shù)據(jù)可以是簡單數(shù)據(jù)類型,也可以是復雜數(shù)據(jù)類型,甚至自定義對象等。同時,單個用戶既可以是匿名用戶,也可以是注冊用戶。默認情況下,所有用戶配置數(shù)據(jù)都存儲在SQL Server數(shù)據(jù)庫中,并且無需自行創(chuàng)建和維護該數(shù)據(jù)庫,這些工作都由ASP.NET 2.0自動完成。個性化用戶配置功能還支持從應用程序中任何位置訪問的多種強類型API,以方便存儲、顯示和管理用戶配置信息。使用個性化用戶配置功能非常簡單。首先,在Web.config文件中定義配置信息名稱、數(shù)據(jù)類型等,然后,調用與用戶配置功能有關的強類型API,例如,Profile實現(xiàn)對用戶配置信息的存儲、訪問和管理等應用。
五、成員資格和角色管理
多數(shù)站點的后臺管理中,幾乎都包括用戶成員和角色管理功能,例如,新建、修改、刪除用戶和角色,為用戶設置角色,管理角色中的用戶等。在使用ASP.NET 1.x版本時,實現(xiàn)這些功能的主要方法是,首先,設計創(chuàng)建成員庫表、角色庫表等,然后,編寫代碼實現(xiàn)具體功能。實現(xiàn)所有功能可能需要花費不少的時間和精力,并且過程繁瑣,容易出現(xiàn)錯誤。然而,使用ASP.NET 2.0新增的成員資格和角色管理功能則可以很好地解決這個問題。
成員資格和角色管理功能的核心是利用自動生成的數(shù)據(jù)庫表、多個實現(xiàn)管理功能的API、成員資格和角色管理提供程序,實現(xiàn)模塊化和自動化的成員資格和角色管理模式。具體而言,包括創(chuàng)建和管理用戶和角色信息、實現(xiàn)對多種數(shù)據(jù)源中用戶和角色信息的管理、驗證訪問應用程序的用戶憑證、支持使用Cookie緩存角色信息、實現(xiàn)角色管理與成員資格管理等功能的集成。
六、配置和管理工具
為了快速方便地實現(xiàn)應用程序配置和管理,ASP.NET 2.0提供了兩個內置的可視化工具:一個是ASP.NET MMC管理單元,另一個是Web網(wǎng)站管理工具。
如果計算機中安裝了Internet信息服務(IIS)和.NET Framework 2.0,那么打開IIS即可使用ASP.NET MMC管理單元。利用該工具可對指定應用程序的連接字符串、應用程序配置、自定義錯誤、授權、身份驗證、公共編譯、頁和運行時、全球化和標識、應用程序狀態(tài)、位置等方面進行全面設置。所有設置結果都將顯示在應用程序Web.config文件中。從這一角度而言,ASP.NET MMC管理單元是一個用于編輯Web.config文件的圖形化工具。
如果使用Visual Studio 2005創(chuàng)建ASP.NET 2.0應用程序,那么可以調用Web站點管理工具。與ASP.NET MMC管理工具不同的是,Web站點管理工具是一個Web應用程序,而不是一個Windows應用程序。Web站點管理工具提供了對指定Web應用程序的安全、應用程序配置、提供程序等多方面的設置。例如,創(chuàng)建管理用戶和角色信息、設置SMTP參數(shù)、設置各種提供程序等。
- ASP.NET2.0緩存(Cache)技術深入理解
- ASP.NET2.0中用Gridview控件操作數(shù)據(jù)的代碼
- ASP.NET2.0 SQL Server數(shù)據(jù)庫連接詳解
- asp.net2.0實現(xiàn)郵件發(fā)送(測試成功)
- 在ASP.NET2.0中通過Gmail發(fā)送郵件的代碼
- ASP.NET2.0+SQL Server2005構建多層應用
- ASP.NET2.0:頁面中鏈入的CSS、js文件帶中文時需注意
- ASP.NET2.0服務器控件之自定義狀態(tài)管理
- ASP.NET2.0中數(shù)據(jù)源控件之異步數(shù)據(jù)訪問
- Asp.Net2.0權限樹中Checkbox的操作
- ASP.Net2.0 GridView 多列排序,顯示排序圖標,分頁
- ASP.NET2.0服務器控件之類型轉換器
- ASP.NET2.0數(shù)據(jù)庫入門之SQL Server
- ASP.NET2.0數(shù)據(jù)庫入門之SqlDataSource
- asp.net2.0如何加密數(shù)據(jù)庫聯(lián)接字符串
- ASP.NET2.0 WebRource,開發(fā)微調按鈕控件
- ASP.NET2.0服務器控件之Render方法
- asp.net2.0中css失效的解決方法
相關文章
.NET Framework中定時器timer的單線程與多線程使用講解
這篇文章主要介紹了.NET Framework中定時器timer的單線程與多線程使用講解,單線程定時器在性能方面不如多線程,但是可以做到線程安全,需要的朋友可以參考下2016-04-04在.NET使用JSON作為數(shù)據(jù)交換格式實例演示
JSON(JavaScript Object Notation)是一種輕量級輕量級的數(shù)據(jù)交換格式,并且它獨立于編程語言,接下來為大家介紹下使用JSON作為數(shù)據(jù)交換格式在.net中的應用2013-03-03ADO.NET獲取數(shù)據(jù)(DataSet)同時獲取表的架構實例
下面小編就為大家分享一篇ADO.NET獲取數(shù)據(jù)(DataSet)同時獲取表的架構實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2017-12-12C#中的Equals、RefrenceEquals和==的區(qū)別與聯(lián)系
C#中判斷兩個對象是否相等有Equals、RefrenceEquals和==三種,其中==為運算符,其它兩個為方法,而Equals又有兩種版本,一個是靜態(tài)的,一個是虛擬的,詳細了解可以參考本文2012-12-12使用FreeHost SQL2000網(wǎng)頁管理器出錯解決辦法
在您登陸FreeHost SQL2000網(wǎng)頁管理器時,如果提示以下信息: 發(fā)生類型為 System.Web.HttpUnhandledException 的異常2012-01-01ASP .NET調用javascript中Response.Write和ClientScript.RegisterSta
最近在用ASP .NET的code behind 調用javascript中發(fā)現(xiàn)Response.Write不能拿到form的值,而ClientScript.RegisterStartupScript可以。2010-12-12