《ASP.NET2.0揭秘》读书笔记——理解HtmlTextWriter类

 

HtmlTextWriter是专门用于把HTML内容输出到浏览器中的一个类,下面是该类支持的部分方法:

AddAttribute ——已重载。 对于 HtmlTextWriter 对象通过对 RenderBeginTag 方法的后续调用创建的元素,向其开始标记中添加指定的标记属性和值。

AddStyleAttribute ——已重载。 对于 HtmlTextWriter 对象通过对 RenderBeginTag 方法的后续调用创建的元素,向其开始标记中添加标记样式属性。

RenderBeginTag ——已重载。 将标记元素的开始标记写入到输出流。

RenderEndTag ——将标记元素的结束标记写入到输出流。

Write ——已重载。 已重写。 将指定数据类型连同任何挂起的制表符间距一起写入到输出流。
WriteBreak ——将 <br /> 标记元素写入到输出流。

注意:从Control类派生的基础控件是重写Render方法来使用HtmlTextWriter类的方法来输出HTML内容到浏览器的,而派生于WebControl类的自定义控件则是通过重写RenderContents这个方法来完成该功能。

例如下面代码是在RenderContens方法里利用HtmlTextWriter类的方法来生成HTML表格的。

 

ContractedBlock.gif ExpandedBlockStart.gif 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("&nbsp;");
34                 writer.RenderEndTag();
35 
36                 writer.RenderEndTag();
37             }
38 
39             // close table
40             writer.RenderEndTag();
41         }
42     }
43 }

转载于:https://www.cnblogs.com/zoupeiyang/archive/2009/05/25/1488690.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值