1.1何處繼承  自定義控件一般從以下幾個(gè)基類(lèi)(此處不包含數(shù)據(jù)控件)  一.Control類(lèi)(所有服務(wù) " /> 亚洲激情视频在线观看,99爱在线观看,性欧美日本

中文字幕日韩一区二区_国产一区二区av_国产毛片av_久久久久国产一区_色婷婷电影_国产一区二区精品

asp.net控件開(kāi)發(fā)基礎(chǔ)(15)

  繼續(xù)我們的話(huà)題吧.自定義控件.如果你還不熟悉自定義控件開(kāi)發(fā)的話(huà),還請(qǐng)看看我以前寫(xiě)了幾篇,希望對(duì)你有幫助

  1.1何處繼承

  自定義控件一般從以下幾個(gè)基類(lèi)(此處不包含數(shù)據(jù)控件)

  一.Control類(lèi)(所有服務(wù)器控件的基類(lèi),算是比較底層的類(lèi),如果控件功能比較簡(jiǎn)單,要求不多,可直接繼承此類(lèi).)

  二.WebControl類(lèi)(標(biāo)準(zhǔn)控件的基類(lèi),繼承此類(lèi),你可以繼承其豐富的公共屬性,若標(biāo)準(zhǔn)控件中的控件沒(méi)有你需要的控件,你可以繼承此類(lèi))

  三.CompositeControl 類(lèi)(2.0新增的類(lèi),此類(lèi)繼承自WebControl類(lèi),如果你需要制作復(fù)合控件,請(qǐng)從繼承此類(lèi)開(kāi)始)

  四.直接從內(nèi)置控件繼承(我們知道輪子只需要發(fā)明一遍,你的需求跟內(nèi)置差不多的話(huà),請(qǐng)考慮這么做)

  1.2呈現(xiàn)控件

  Control類(lèi)Render方法為基本呈現(xiàn)方法,RenderContent方法是在Render方法之上的,其為控件加了一個(gè)標(biāo)簽,我認(rèn)為RenderContent方法是為WebControl類(lèi)中屬性準(zhǔn)備的.基本的方法繼續(xù)深刻的去了解.

  1.3與用戶(hù)交互

  純粹的呈現(xiàn)控件還不夠,我們需要傳遞數(shù)據(jù),這就必然讓我們了解自定義控件事件處理

  1.4接觸屬性(見(jiàn)第五,九,十篇)

  屬性相對(duì)而言比較簡(jiǎn)單,也比較好理解,但其又比較麻煩,當(dāng)控件屬性太多,很容易亂,因此我們又認(rèn)識(shí)了元數(shù)據(jù)。把屬性進(jìn)行了分類(lèi),如下圖  
    border=
  為了更清晰了,把屬性分好類(lèi)別,我們又用另外做法,把多種同類(lèi)型的屬性,定義在一個(gè)大的屬性里面,稱(chēng)之為復(fù)雜屬性,如下圖

  屬性已經(jīng)夠多了,不緊如此,我們還知道屬性的每種類(lèi)型可能不一樣,而在呈現(xiàn)之后都是呈現(xiàn)字符串形式,簡(jiǎn)單屬性.NET已為你處理好轉(zhuǎn)換,當(dāng)你自定義復(fù)雜屬性以后,你則需要自己為你定義的復(fù)雜屬性定義一個(gè)類(lèi)型轉(zhuǎn)換器(見(jiàn)第九篇)。屬性還有另外一種做法,就是可以把屬性當(dāng)成集合屬性來(lái)用.可以說(shuō)是特殊話(huà)的復(fù)雜控件,這樣做可以提供給一些列表控件使用(見(jiàn)第10篇) 屬性用途還真不少

  1.5控件樣式

  控件怎么能缺樣式,我們自然需要它,在此我們?cè)俅握J(rèn)識(shí)到了WebControl類(lèi).當(dāng)然也了解到了Style類(lèi)及其子類(lèi),只要你了解了其中的幾個(gè)方法你就可以自定義控件樣式了

  1.6復(fù)合控件

  復(fù)合控件的功能往往比較強(qiáng)大,它利用當(dāng)前已經(jīng)存在的控件進(jìn)行組裝成一個(gè)新的控件,在此過(guò)程中我們學(xué)習(xí)了在復(fù)合控件中定義事件以及定義樣式. 

  1.7視圖狀態(tài)

  不得不談的一個(gè)話(huà)題,一般我們?yōu)榭丶x的屬性都以視圖狀態(tài)的形式保存,然而復(fù)雜屬性的定義和控件樣式定義則需要你了解如何自定義視圖狀態(tài)。

  最后我們還討論了如何為控件添加客戶(hù)端功能,還有為控件定義生成器。好了,總結(jié)終于告一段落,以上寫(xiě)了兩遍,第一遍寫(xiě)的時(shí)候保存后數(shù)據(jù)居然丟失了,痛苦啊。

  下面我們分享一些小技巧,或許大家早已經(jīng)知道了,為了以后更好的學(xué)習(xí),我把命名控件全部更改為ASPDemo.CustomComponents。此次下載的源碼包括1-16篇的全部的示例代碼,如果有什么錯(cuò)誤還請(qǐng)大家指出

  補(bǔ)充

  一.嵌入資源的使用

  1.嵌入控件圖標(biāo)

  內(nèi)置控件都有自己的圖標(biāo),很多人也很喜歡為自己的控件做個(gè)圖標(biāo),那如何做呢?

  我們只需要使用ToolboxBitmap元數(shù)據(jù)就可以了,你需要了解其構(gòu)造函數(shù),用法如下

namespace ASPDemo.CustomComponents
{
        [ToolboxBitmap(
typeof(ImageControl), "Resources.Image.bmp")]
   
public class ImageControl : WebControl
    
{
    }

}

NET技術(shù)asp.net控件開(kāi)發(fā)基礎(chǔ)(15),轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 97伦理影院| 欧美精品综合在线 | 精品成人69xx.xyz| 一区二区视频在线观看 | 91久久网站 | 国产永久免费 | 久久y| 午夜精品一区二区三区在线观看 | www.99热这里只有精品 | 成人免费一区二区三区视频网站 | 中文字幕第十一页 | 精品免费 | 久草高清视频 | 日本精品久久久久久久 | 在线视频久久 | 黄色av免费| 91在线电影 | 亚洲精品久久久久中文字幕二区 | 一本一道久久a久久精品综合蜜臀 | 福利片在线| 一区二区三区小视频 | 一区二区三区高清在线观看 | 日韩在线一区二区三区 | 欧美日韩成人 | 久久综合欧美 | 国产精彩视频 | 国产精品久久久久久久久久久久午夜片 | 免费看的黄网站 | 淫片一级国产 | 国产一区二区电影网 | 97精品国产| 成人免费在线观看 | 免费h在线 | 国产一区二区三区四区在线观看 | 国产做a爱片久久毛片 | 亚洲国产精品久久久久婷婷老年 | 妖精视频一区二区三区 | 一级黄片一级毛片 | 国产三级 | 国产99久久精品一区二区永久免费 | 国产精品自拍视频网站 |