HtmlTextWriter学习

简介: HtmlTextWriter与Html32TextWriter 这两个类不存在继承和被继承关系。HtmlTextWriter支持Html4.0标准,而Html32TextWriter支持Html3.2标准,在msdn中一般不建议将Html32TextWriter实例话,它仅为支持低版本的浏览器而设计。
HtmlTextWriter与Html32TextWriter
这两个类不存在继承和被继承关系。HtmlTextWriter支持Html4.0标准,而Html32TextWriter支持Html3.2标准,在msdn中一般不建议将Html32TextWriter实例话,它仅为支持低版本的浏览器而设计。

HtmlTextWriter初始化

HtmlTextWriter的构造函数要求必须传递一个与TextWriter接口兼容的实例。大家可以根据需要选择合适的TextWriter接口实现类,因为该类的选择将决定最终生成的Html文本的输出方式,例如我想把结果输出到一个TextBox中,于是我就使用了StringWriter类的实例作为参数传入:
      StringWriter sw=new System.IO.StringWriter();
      HtmlTextWriter writer=new HtmlTextWriter(sw);
如果要获得结果,只需要使用sw.toString()就可以了。注意,HtmlTextWriter本身不提供输出方法或属性。

HtmlTextWriter常用方法

1. void RenderBeginTag(HtmlTextWriterTag tagKey)
       用于创建Html开始标签,如<body>,这里的HtmlTextWriterTag是一个枚举类型,里面有所有的标准Html4.0标签枚举值,如果我要使用添加body标签,就是RenderBeginTag(HtmlTextWriterTag.Body)

2. void RenderEndTag()
       与RenderBeginTag一一对应,有几个RenderBeginTag就必须有几个RenderEndTag,当然,RenderEndTag不一定要马上跟在对应的RenderBeginTag之后,要根据Html语句决定。如下面的例子:
<html>
       <head></head>
       <body></body>
</html>
上面一段是html基本结构,使用HtmlTextWriter生成就是
      writer.RenderBeginTag(HtmlTextWriterTag.Html);
      writer.RenderBeginTag(HtmlTextWriterTag.Head);
      writer.RenderEndTag();
      writer.RenderBeginTag(HtmlTextWriterTag.Body);
      writer.RenderEndTag();
      writer.RenderEndTag();
3. void AddAttribute()
       用于添加标签的属性,例如<img>标签的url属性、width属性等。使用该方法时要注意一点,AddAttribute语句必须出现在对应的RenderBeginTag的前面,请看下面的例子:
      writer.AddAttribute("url","../xxx.gif");
      writer.AddAttribute("width","50");
      writer.AddAttribute("height","50");
      writer.RenderBeginTag(HtmlTextWriterTag.Img);
      writer.RenderEndTag();

上面一段语句将添加<img url="../xxx.gif" width="50" height="50" />,可以发现所有的img标签属性的添加都在RenderBeginTag之前。

4. void Write()和void WriteLine()
用于写除标准Html标签以外的所有信息。

 

版权

作者:灵动生活 郝宪玮

出处:http://www.cnblogs.com/ywqu

如果你认为此文章有用,请点击底端的【推荐】让其他人也了解此文章,

img_2c313bac282354945ea179a807d7e70d.jpg

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

 

相关文章
|
3月前
学习putpixel画点
学习putpixel画点。
62 20
|
7月前
学习使用按位取反~
【6月更文挑战第23天】学习使用按位取反~。
52 7
|
NoSQL Java jenkins
|
编译器 C语言 C++
初识C++(学习计划)
初识C++(学习计划)
121 0
|
人工智能 城市大脑 达摩院
学习+思考+资料总结
基本结构 程序 = 算法+数据结构 软件 = 程序 + 软件工程 软件企业 = 软件 + 商业模式 闲是灵感的源泉,忙是思维的坟墓。
99 0
|
网络协议 前端开发 Windows
学习分享系列(一):记日常学习中遇到的两个问题
学习分享系列(一):记日常学习中遇到的两个问题
学习分享系列(一):记日常学习中遇到的两个问题
|
机器学习/深度学习 算法
一句话总结LLE(流形学习)
一句话总结LLE(流形学习)
一句话总结LLE(流形学习)
|
人工智能