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

ASP.NET 自訂控件開發 第二章(下):WebControl RenderContents 詳細實作

     編輯:關於ASP.NET

繼承 WebControl 時,覆寫 RenderContents 僅負責輸出內層標記,外層標籤(如 <table>)由基類根據 TagKey 自動渲染。這比覆寫 Render 更規範、更支援樣式屬性。

信用卡表單 RenderContents 完整代碼

protected override void RenderContents(HtmlTextWriter writer)
{
    // 付款方式列
    writer.RenderBeginTag(HtmlTextWriterTag.Tr);
    writer.RenderBeginTag(HtmlTextWriterTag.Td);
    writer.Write(PaymentMethod);
    writer.RenderEndTag();

    writer.RenderBeginTag(HtmlTextWriterTag.Td);
    writer.AddAttribute(HtmlTextWriterAttribute.Id, PaymentMethodListId);
    writer.AddAttribute(HtmlTextWriterAttribute.Name, PaymentMethodListName);
    writer.AddStyleAttribute(HtmlTextWriterStyle.Width, "100%");
    writer.RenderBeginTag(HtmlTextWriterTag.Select);
    // Option 項目...
    writer.RenderEndTag(); // Select
    writer.RenderEndTag(); // Td
    writer.RenderEndTag(); // Tr

    // 信用卡號、持卡人、有效期、提交按鈕...
    // 使用 HtmlTextWriterTag、HtmlTextWriterAttribute、HtmlTextWriterStyle 列舉
    // 確保標準合規與瀏覽器相容
}

使用強型別列舉而非字串硬編碼,編譯期即可檢測錯誤,且 HtmlTextWriter 會根據瀏覽器自動調整輸出格式,解決跨瀏覽器相容性問題。

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