HtmlTextWriter是專門用於把HTML內容輸出到浏覽器中的一個類,下面是該類支持的部分方法:
AddAttribute ——已重載。 對於 HtmlTextWriter 對象通過對 RenderBeginTag 方法的後續調用創建的元素,向其開始標記中添加指定的標記屬性和值。
AddStyleAttribute ——已重載。 對於 HtmlTextWriter 對象通過對 RenderBeginTag 方法的後續調用創建的元素,向其開始標記中添加標記樣式屬性。
RenderBeginTag ——已重載。 將標記元素的開始標記寫入到輸出流。
RenderEndTag ——將標記元素的結束標記寫入到輸出流。
Write ——已重載。 已重寫。 將指定數據類型連同任何掛起的制表符間距一起寫入到輸出流。
WriteBreak ——將 <br /> 標記元素寫入到輸出流。
注意:從Control類派生的基礎控件是重寫Render方法來使用HtmlTextWriter類的方法來輸出HTML內容到浏覽器的,而派生於WebControl類的自定義控件則是通過重寫RenderContents這個方法來完成該功能。
例如下面代碼是在RenderContens方法裡利用HtmlTextWriter類的方法來生成HTML表格的。
Code
1 using System;
2 using System.Web.UI;
3 using System.Web.UI.WebControls;
4 using System.Drawing;
5
6 namespace myControls
7 {
8 public class ColorTable : WebControl
9 {
10 protected override void RenderContents(HtmlTextWriter writer)
11 {
12 // Get list of colors
13 KnownColor[] colors = (KnownColor[])Enum.GetValues(typeof(KnownColor));
14
15 // Render opening table tag
16 writer.AddAttribute(HtmlTextWriterAttribute.Border, "1");
17 writer.RenderBeginTag(HtmlTextWriterTag.Table);
18
19 // Render table body
20 foreach (KnownColor colorName in colors)
21 {
22 writer.RenderBeginTag(HtmlTextWriterTag.Tr);
23
24 // Render first column
25 writer.RenderBeginTag(HtmlTextWriterTag.Td);
26 writer.Write(colorName);
27 writer.RenderEndTag();
28
29 // Render second column
30 writer.AddAttribute(HtmlTextWriterAttribute.Width, "50px");
31 writer.AddAttribute(HtmlTextWriterAttribute.Bgcolor, colorName.ToString());
32 writer.RenderBeginTag(HtmlTextWriterTag.Td);
33 writer.Write(" ");
34 writer.RenderEndTag();
35
36 writer.RenderEndTag();
37 }
38
39 // close table
40 writer.RenderEndTag();
41 }
42 }
43 }