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


















