WebControl,享有外觀屬性(BackColor、Border*、Width/Height 等)。Control 即可。protected WebControl():預設 TagKey = HtmlTextWriterTag.Span。public WebControl(HtmlTextWriterTag tag):指定標籤類型(如 HtmlTextWriterTag.Div)。protected WebControl(string tag):指定自訂標籤字串,供衍生類別呼叫。| 成員 | 類型/簽章 | 用途 |
|---|---|---|
| Attributes | AttributeCollection | 取得任意渲染屬性集合 |
| ControlStyle | Style | 封裝所有外觀屬性(BorderColor、Font 等) |
| TagKey | HtmlTextWriterTag | 對應的 HTML 標籤枚舉值 |
| AddAttributesToRender | protected virtual void (HtmlTextWriter) | 加入 HTML 屬性與樣式,**必須呼叫 base** |
| ApplyStyle | public void (Style) | 複製樣式非空白元素,**覆寫**現有樣式 |
| MergeStyle | public void (Style) | 複製樣式非空白元素,**不覆寫**現有樣式 |
| Render | protected override void (HtmlTextWriter) | 重寫 Control.Render,內部呼叫 RenderBeginTag/RenderContents/RenderEndTag |
Render → RenderBeginTag(輸出開頭標籤及屬性)。RenderContents → **衍生類別覆寫此處輸出內部 HTML**。RenderEndTag → 輸出結束標籤。覆寫 RenderContents 而非 Render,可自動獲得外觀屬性套用至外層標籤,專注於內容輸出,是開發視覺控件的最佳實務。