ASP.NET控件設(shè)計器淺析
本簡介解釋了ASP.NET控件設(shè)計器的功能、基本設(shè)計器類及其功能和使用設(shè)計器的方案。
一、ASP.NET控件設(shè)計器功能
ASP.NET在繼續(xù)支持早期版本的控件設(shè)計器結(jié)構(gòu)的同時,還進行了重大的改進。
◆ASP.NET控件設(shè)計器之基于區(qū)域的編輯。
區(qū)域是控件設(shè)計時視圖中的可編輯區(qū)域。該功能提供了設(shè)計時對控件內(nèi)容的WYSIWYG編輯。
◆ASP.NET控件設(shè)計器之操作表。
操作表是控件的頁面開發(fā)人員可以在設(shè)計時UI中使用的任務(wù)菜單。例如,控件的設(shè)計時視圖可以提供可用任務(wù)菜單,包括自動設(shè)置控件格式的任務(wù)。
◆ASP.NET控件設(shè)計器之數(shù)據(jù)源和數(shù)據(jù)綁定設(shè)計器。
數(shù)據(jù)源控件設(shè)計器使得頁面開發(fā)人員可以配置數(shù)據(jù)源控件。數(shù)據(jù)綁定控件設(shè)計器使得頁面開發(fā)人員可以配置數(shù)據(jù)綁定控件。提供了一些功能,可用于實現(xiàn)數(shù)據(jù)源設(shè)計器和數(shù)據(jù)綁定設(shè)計器之間的相互通信。
◆ASP.NET控件設(shè)計器之簡化的模板編輯。
為模板化控件(如GridView)的設(shè)計時編輯創(chuàng)建UI的模型,已極大地簡化和修改,使得控件開發(fā)人員可以選擇用區(qū)域執(zhí)行自己的模板編輯。
◆ASP.NET控件設(shè)計器之簡化的對象模型。
已簡化使用設(shè)計時呈現(xiàn)的對象模型,使得開發(fā)人員必須關(guān)心的***重要的問題是生成設(shè)計時HTML。幾個新的基類提供對簡化的對象模型的訪問:ControlDesigner、ContainerControlDesigner和CompositeControlDesigner。
◆ASP.NET控件設(shè)計器之訂閱主機服務(wù)。
控件設(shè)計器可以訂閱和使用宿主環(huán)境所提供的各種服務(wù)。例如,控件設(shè)計器可以使用VisualStudio2005服務(wù)實現(xiàn)以下功能:提供對數(shù)據(jù)的訪問、提供對配置的訪問、在設(shè)計時以編程方式向頁面添加控件、在設(shè)計器中處理Click事件、在設(shè)計圖面上進行繪制以及訪問其他服務(wù)(如設(shè)計器狀態(tài))。
二、ASP.NET控件設(shè)計器之基本設(shè)計器類
通過充當運行時控件和宿主環(huán)境之間的調(diào)節(jié)器,控件設(shè)計器啟用Web服務(wù)器控件的設(shè)計時呈現(xiàn)。在宿主環(huán)境內(nèi)部,設(shè)計器提供下面的功能幫助您為控件的用戶創(chuàng)建設(shè)計時UI:
◆ASP.NET控件設(shè)計器之設(shè)計時呈現(xiàn)和內(nèi)容。
控件設(shè)計器啟用多種呈現(xiàn),包括簡單呈現(xiàn)和復(fù)雜呈現(xiàn)?;趨^(qū)域的編輯和模板編輯是可以為控件提供的多種設(shè)計時UI的示例。還可以在控件上提供列編輯或多個運行時視圖,因此設(shè)計時使用該控件的開發(fā)人員可以就如何在運行時呈現(xiàn)控件從一組選項中進行選擇。
◆ASP.NET控件設(shè)計器之其他設(shè)計時類。
除了設(shè)計器類之外,還有與類型或?qū)傩躁P(guān)聯(lián)且執(zhí)行類型轉(zhuǎn)換(從字符串到值的轉(zhuǎn)換)的類型轉(zhuǎn)換器類。還有為編輯屬性提供專用UI的UI類型編輯器類。例如,屬性窗格中的顏色選取器下拉列表使您可以為Web控件上的顏色屬性選擇一種顏色。還可以創(chuàng)建專用的組件編輯器,它是提供對控件的屬性進行整體編輯的類。
◆ASP.NET控件設(shè)計器之關(guān)聯(lián)控件的數(shù)據(jù)的持久性。
控件的內(nèi)部屬性和內(nèi)容可以保持,因此該控件及其子控件在設(shè)計時環(huán)境中可保持狀態(tài)。這由標記中配置控件定義的方式控制。
為Web服務(wù)器控件創(chuàng)建控件設(shè)計器時,有幾個可能要使用的基類:
(1)ControlDesigner
可提供對Web服務(wù)器控件的設(shè)計時支持的基類。
(2)ContainerControlDesigner
一個簡單的包容控件的基類,可提供對控件的子控件集合的編輯功能。此設(shè)計器提供一個可自由編輯的區(qū)域,并且宿主(例如VisualStudio2005)會自動提供所有呈現(xiàn)。
(3)CompositeControlDesigner
可提供對呈現(xiàn)復(fù)合Web服務(wù)器控件的設(shè)計時支持的基類。它還提供對子控件呈現(xiàn)的編程控制。
(4)DataSourceDesigner、BaseDataBoundControlDesigner和HierarchicalDataSourceDesigner
這些基類提供對數(shù)據(jù)源和數(shù)據(jù)綁定控件的設(shè)計時支持,并且相互之間可以通信。
ASP.NET控件設(shè)計器的功能、基本設(shè)計器類就向你介紹到這里,希望通過介紹使你能夠更加認識ASP.NET控件設(shè)計器。
【編輯推薦】