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 }