前兩篇展示的字串拼接方式錯誤難發現、相容性差。.NET 提供 HtmlTextWriter 強型別 API,讓渲染如同撰寫 C# 代碼般享有智能感應與編譯檢查。
改寫前(字串拼接):
writer.Write("<table style='width:287px;height:128px;border-width:0'>");
改寫後:
writer.AddStyleAttribute(HtmlTextWriterStyle.Width, "287px");
writer.AddStyleAttribute(HtmlTextWriterStyle.Height, "128px");
writer.AddStyleAttribute(HtmlTextWriterStyle.BorderWidth, "0");
writer.RenderBeginTag(HtmlTextWriterTag.Table);
// ... 後續標籤同理
繼承既有控件 CreditCardForm2,僅覆寫 Render 方法即可。這樣不僅編譯期能捕捉錯誤,HtmlTextWriter 還會根據 HttpBrowserCapabilities 自動調整輸出(如舊版 IE 的屬性寫法),真正實現「寫一次,處處執行」。