zoukankan      html  css  js  c++  java
  • HtmlTextWriter学习<转>

    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标签以外的所有信息。
  • 相关阅读:
    设计模式之工厂模式-抽象工厂(02)
    1036 跟奥巴马一起编程 (15 分)
    1034 有理数四则运算 (20 分)
    1033 旧键盘打字 (20 分)
    1031 查验身份证 (15 分)
    大学排名定向爬虫
    1030 完美数列 (25 分)二分
    1029 旧键盘 (20 分)
    1028 人口普查 (20 分)
    1026 程序运行时间 (15 分)四舍五入
  • 原文地址:https://www.cnblogs.com/ywqu/p/1294087.html
Copyright © 2011-2022 走看看