1.功能介紹:可以像winform裡的分組控制項一樣把web頁面上的控制項進行分組。功能雖小,但是實用。有時候我們在進行
web開發的時候,總是想用個這樣的東西,把同一類屬性或操作的控制項放到乙個區域裡,可以讓使用者很清楚地
就能知道這是幹什麼的,給使用者帶來很好的體驗。其實我最想做這樣的東西了,有時候覺得這樣的小東西,
太簡單,後來在看discuz原始碼的時候,在後台突然發現有這樣的東西,我覺得很不錯,就索性寫了寫,有那裡
不好的地方還請大家批評指正。^_^
2.介面
3。我們來看下**。很簡單。
下面是: rendercontents的**。
protected
override
void
rendercontents(htmltextwriter writer)if(
!height.isempty)
writer.renderbegintag(htmltextwritertag.fieldset);
writer.addattribute(htmltextwriterattribute.style, _legendstyle);
grouptitle
=this
.uniqueid.tostring();
writer.renderbegintag(htmltextwritertag.legend);
writer.write(grouptitle);
writer.renderendtag();
base
.rendercontents(writer);
writer.renderendtag();
}4.上面為什麼要用:rendercontents為什麼不用render方法呢?
小結一下:
webcontrol基類中包括的兩個方法:render和rendercontents。control基類中包括render方法。由於webcontrol類繼承自control類,因此,webcontrol類中包含render方法是無可非議的。然而,webcontrol類中卻有乙個rendercontents方法,並且該方法與render方法在功能、引數等方面都非常相似。那麼在呈現控制項過程中到底應該使用哪乙個呢?
實際上,在通常情況下,如果伺服器控制項自webcontrol基類派生,那麼其中的render方法很少使用,而主要使用rendercontents方法實現控制項呈現。為了說明其中的原因,我們必須了解webcontrol基類中render方法的實現邏輯。
在webcontrol基類中的render方法的實現示意性**如下所示:
protected
override
void
render(htmltextwriter output)
在webcontrol基類中的renderbegintag方法的實現示意性**如下:
public
virtual
void
renderbegintag(htmltextwriter output)
else
}在webcontrol基類中的rendercontents方法的實現示意性**如下:
protected
override
void
rendercontents(htmltextwriter output)
分析以上**可以得出以下結論:
一、為了在由webcontrol派生的類中實現控制項呈現,必須重寫addattributestorender、renderbegintag、renderendtag、rendercontents等方法中的乙個或者多個,而不必重寫render方法。
二、重寫addattributestorender、renderbegintag、renderendtag、rendercontents等方法非常重要(請注意重寫這些方法的條件及注意事項),否則伺服器控制項可能會出現丟失標籤的情況,這將嚴重影響伺服器控制項的呈現。
三、當呈現伺服器控制項標籤中的內容時,必須重寫rendercontents方法。
上文介紹了webcontrol類的一些基本知識。尤其是對於上文所列舉的示意性**需要重點理解。這對於實現控制項呈現有著重要作用。
工欲善其事,必先利其器
自繪GroupBox控制項
下面顯示的是效果圖 然後是 其中有一些解釋 using system using system.collections.generic using system.componentmodel using system.diagnostics using system.text using syste...
GroupBox 分組框控制項
groupbox控制項是由system.windows.forms.groupbox類提供的,作用是為其他控制項提供可識別的分組。可在同一頁面,實現多個單選的radiobutton 通常,使用分組框按功能細分窗體,例如,乙個學生在璇姐班級和系別時,為了細分窗體,可用兩個groupbox控制項來設定,...
C 窗體控制項 分組框控制項GroupBox
groupbox控制項又稱為分組框,分組框 groupbox 是對控制項進行分組的控制項,可以設定每個組的標題。分組框控制項屬於容器控制項,一般不對該控制項編碼。groupbox控制項常常用於邏輯地組合一組控制項,如radiobutton 及 checkbox控制項,顯示乙個框架,其上有乙個標題。組...