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标签以外的所有信息。 


本文转自灵动生活博客园博客,原文链接:http://www.cnblogs.com/ywqu/archive/2008/09/19/1294087.html,如需转载请自行联系原作者

相关文章
|
Java 程序员 Android开发
apk简单介绍(组成以及打包安装流程)
apk简单介绍(组成以及打包安装流程)
425 0
|
存储 监控 算法
怎样在GitHub上建立仓库、以及怎样实现分支代码的合并。保姆级别的教程
这篇文章是一份详细的GitHub使用教程,介绍了如何在GitHub上创建仓库、创建分支、编辑和发布更改内容、发起拉取请求以及合并分支的操作步骤。
怎样在GitHub上建立仓库、以及怎样实现分支代码的合并。保姆级别的教程
|
12月前
|
存储 编解码 人工智能
Sora正式上线!145元就能体验,内置剪辑神器让你秒变视频大师
Sora正式上线,145元即可体验。内置剪辑工具,助你快速生成视频,支持多种分辨率和长达20秒的视频输出。新增故事板编辑、场景混合等功能,让创作更便捷。不过,模型仍存在物理理解不足等问题,需谨慎期待。Sora现已在美国及多数国际市场推出,但中国地区暂不支持。
321 3
Sora正式上线!145元就能体验,内置剪辑神器让你秒变视频大师
Vuforia专题:设置AR摄像头自动对焦
这篇文章介绍了如何在Vuforia AR应用中设置摄像头自动对焦,以提高摄像头画面清晰度和识别效果,并提供了具体的代码实现步骤。
Vuforia专题:设置AR摄像头自动对焦
|
机器学习/深度学习 人工智能 算法
探索未来:量子计算与人工智能的融合之路
在科技飞速发展的今日,量子计算与人工智能的结合被视为开启新时代的钥匙。本文将探讨量子计算的原理、挑战以及其与人工智能结合的可能性和前景。我们将通过案例分析和最新研究数据来揭示这一跨学科领域如何推动技术革新,并讨论其对社会发展的潜在影响。读者将获得对这一激动人心领域的深刻理解,同时引发对未来技术趋势的思考。
418 30
|
机器学习/深度学习 传感器 算法
如何优化物联网设备的能源消耗?
【7月更文挑战第29天】如何优化物联网设备的能源消耗?
493 8
|
机器学习/深度学习 运维 算法
监督算法和无监督算法之间的区别
【8月更文挑战第23天】
693 0
|
传感器 自动驾驶 安全
深入解析SOME/IP协议在汽车行业的应用案例
深入解析SOME/IP协议在汽车行业的应用案例
617 0
|
数据库连接 API Nacos
Nacos在启动时会检查数据库连接,如果连接失败,它会抛出一个异常并退出
Nacos在启动时会检查数据库连接,如果连接失败,它会抛出一个异常并退出
530 7