首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> ASP.NET 基礎 >> 關於ASP.NET

ASP.NET 伺服器控件之 RenderContents 詳細解析

     編輯:關於ASP.NET

WebControl.RenderContents:輸出自訂 HTML 的標準進階點

兩類伺服器控件

  1. 具視覺元素 → 建議繼承 WebControl,享有外觀屬性(BackColor、Border*、Width/Height 等)。
  2. 無視覺元素 → 繼承 Control 即可。

WebControl 三個建構函數

  1. protected WebControl():預設 TagKey = HtmlTextWriterTag.Span。
  2. public WebControl(HtmlTextWriterTag tag):指定標籤類型(如 HtmlTextWriterTag.Div)。
  3. protected WebControl(string tag):指定自訂標籤字串,供衍生類別呼叫。

常用成員對象

成員類型/簽章用途
AttributesAttributeCollection取得任意渲染屬性集合
ControlStyleStyle封裝所有外觀屬性(BorderColor、Font 等)
TagKeyHtmlTextWriterTag對應的 HTML 標籤枚舉值
AddAttributesToRenderprotected virtual void (HtmlTextWriter)加入 HTML 屬性與樣式,**必須呼叫 base**
ApplyStylepublic void (Style)複製樣式非空白元素,**覆寫**現有樣式
MergeStylepublic void (Style)複製樣式非空白元素,**不覆寫**現有樣式
Renderprotected override void (HtmlTextWriter)重寫 Control.Render,內部呼叫 RenderBeginTag/RenderContents/RenderEndTag

渲染流程

  1. Render → RenderBeginTag(輸出開頭標籤及屬性)。
  2. RenderContents → **衍生類別覆寫此處輸出內部 HTML**。
  3. RenderEndTag → 輸出結束標籤。

覆寫 RenderContents 而非 Render,可自動獲得外觀屬性套用至外層標籤,專注於內容輸出,是開發視覺控件的最佳實務。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved