自定義伺服器控制項開發(1)

2022-03-03 09:29:13 字數 1809 閱讀 5891

1

:呈現伺服器控制項

如果控制項要呈現使用者介面元素或者任何其他客戶端可見的元素,則應從

webcontrol

類派生該控制項。

如果控制項要呈現在客戶端瀏覽器中不可見的元素(如隱藏元素或

meta

元素),則應從

control

派生該控制項。

control

最重要的方法是

render

方法,它允許為乙個

htmltextwriter

物件提供伺服器控制項的內容。

htmltextwriter

類將字元和文字寫入到asp.net伺服器控制項輸出流。其主要的方法如下:

方法

說明

addattribute

對於htmltextwriter

物件通過對

renderbegintag

方法的後續呼叫建立的元素,向其開始標記中新增指定的標記屬性和值。

writestyleattribute

向其開始標記中新增標記樣式屬性

writeattribute

將標記屬性及其值寫入到輸出流

renderbegintag

將標記元素的開始標記寫入輸出流

renderendtag

將標記元素的結束標記寫入輸出流

writebegintag

將任何製表符間距和指定標記元素的開始標記寫入到輸出流

writeendtag

寫入指定的標記元素的任何製表間距和結束標記。

當用webcontent

類來派生類的時候,可以使用

renderbegintag

和renderendtag

來寫html

的開始和結束標記,這時我們應該重寫

rendercontents

方法來向伺服器控制項的輸出流中寫文字,不要使用

render

方法實現,這是因為

webcontrol

的render

方法實現了一段程式,這段程式向外部提供帶有樣式資訊的標籤。

下面用乙個簡單的例子說明一下,建立了乙個在瀏覽器上呈現超連結的伺服器控制項。

using

system;

using

system.collections.generic;

using

system.linq;

using

system.text;

using

system.web.ui;

using

system.web.ui.webcontrols;

using

system.drawing;

namespace

sunfish.controls

set

}string hyperlink = "";

//////

鏈結位址

///public

string hyperlink

sethyperlink = value;}}

string text = "

網易";

public

string text

set

}int fontsize = 20;

public

int fontsize

set

}protected

override

void rendercontents(htmltextwriter writer)}}

自定義伺服器控制項ImageButton

在日常專案開發中,我們會經常用到自定義控制項,我們通過乙個簡單的例子來說明,在日常專案中我們經常會用到,或者控制項,我們以imagebutton為例來說明。imgbtn runat server imageurl images add.png 很多時候我們需要在很多頁面上放上面這段 每次都要重複設定...

自定義伺服器控制項ImageButton

在日常專案開發中,我們會經常用到自定義控制項,我們通過乙個簡單的例子來說明,在日常專案中我們經常會用到,或者控制項,我們以imagebutton為例來說明。imgbtn runat server imageurl images add.png 很多時候我們需要在很多頁面上放上面這段 每次都要重複設定...

WinForm自定義控制項開發(1)

1 具有漸變色的label控制項mylabel 具有漸變色的標籤 2 實現座標系控制項 mycoordinate 1 mylabel using system using system.collections.generic using system.linq using system.text u...