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

转载于:https://www.cnblogs.com/ywqu/archive/2008/09/19/1294087.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/496677.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

全球自动驾驶汽车发展指数哪家强?美德领衔,中国第七

来源&#xff1a;新智驾近日&#xff0c;罗兰贝格与德国著名汽车研究机构亚琛汽车工程技术有限公司共同发布《2017年第四季度全球自动驾驶汽车发展指数》报告&#xff0c;基于行业和市场两个维度&#xff0c;对全球主要汽车大国在自动驾驶领域的竞争态势做出全面比较。其中“行…

设计模式基本原则

最终目的&#xff1a;高内聚&#xff0c;低耦合 1) 开放封闭原则 (OCP,Open For Extension, Closed For Modification Principle) 类的改动是通过增加代码进行的&#xff0c;而不是修改源代码。 2) 单一职责原则 (SRP,Single Responsibility Principle) 类的职责要单一&a…

笔记:数据绑定表达式(一)

数据绑定表达式必须包含在<%#和%>字符之间。格式如下: <tagprefix:tagname property<%# data-binding expression %> runat"server" />或者如下&#xff1a; <%# data-binding expression %> ASP.NET 支持分层数据绑定模型&#xff0c;数据绑…

Java并发编程实战~Thread-Per-Message模式

我们曾经把并发编程领域的问题总结为三个核心问题&#xff1a;分工、同步和互斥。其中&#xff0c;同步和互斥相关问题更多地源自微观&#xff0c;而分工问题则是源自宏观。我们解决问题&#xff0c;往往都是从宏观入手&#xff0c;在编程领域&#xff0c;软件的设计过程也是先…

水面反光如何拍摄_如何在雨中拍摄,这些技巧会让你的摄影更完美

雨是柔弱的&#xff0c;是世界上最轻灵的东西&#xff0c;敲不响那钢筋水泥造的高楼。而瓦屋则不同&#xff0c;雨滴在上面&#xff0c;叮叮当当的&#xff0c;立即奏出悦耳的声音。身在小屋的人也就有了在雨中亲近自然的福气。而且在雨天睡觉是最舒服的了~在阴雨天气中最熟悉的…

2018全球最强物联网公司榜单揭晓|20家企业物联网战略大起底!

来源&#xff1a; 物联网智库丨公众号IDG旗下杂志《NetWork World》近期公布了全球最强物联网公司名单。本文根据入选评语&#xff0c;对20家企业战略布局进行搜集整理&#xff0c;供业内人士参考&#xff01;根据Gartner预测&#xff0c;到2020年将有超过200亿台联网设备。全球…

MD5算法

文章目录前言一、MD5是什么&#xff1f;二、go语言实现前言 提示&#xff1a;以下是本篇文章正文内容&#xff0c;下面案例可供参考 一、MD5是什么&#xff1f; MD5信息摘要算法&#xff08;英语&#xff1a;MD5 Message-Digest Algorithm&#xff09;&#xff0c;一种被广泛…

Python 中 xpath 语法 与 lxml 库解析 HTML/XML 和 CSS Selector

The lxml.etree Tutorial &#xff1a;https://lxml.de/tutorial.html python3 解析 xml&#xff1a;https://www.cnblogs.com/deadwood-2016/p/8116863.html 微软文档&#xff1a; XPath 语法 和 XPath 函数 W3school Xpath 教程&#xff1a;http://www.w3school.com.cn/xp…

Java并发编程实战~生产者-消费者模式

前面我们在《Worker Thread 模式》中讲到&#xff0c;Worker Thread 模式类比的是工厂里车间工人的工作模式。但其实在现实世界&#xff0c;工厂里还有一种流水线的工作模式&#xff0c;类比到编程领域&#xff0c;就是生产者 - 消费者模式。 生产者 - 消费者模式在编程领域的…

4-css图片效果

设置边框border-style:dotted; /* 点画线 */ border-color:#FF9900; /* 边框颜色 */ border-width:5px; /* 边框粗细 */也可以合并书写 border:5px double #FF00FF;width 50% 表示目前此元素宽度相对于父元素宽度为50%float 用于设定图片与文字的混排方式margin用于设置距离…

AI界的七大未解之谜:OpenAI丢出一组AI研究课题

来源&#xff1a;三体智讯今天&#xff0c;OpenAI在官方博客上丢出了7个研究过程中发现的未解决问题。OpenAI希望这些问题能够成为新手入坑AI的一种有趣而有意义的方式&#xff0c;也帮助从业者提升技能。OpenAI版AI界七大未解之谜&#xff0c;现在正式揭晓——丨1. Slitherin难…

vue 前端商城框架_前端工程师要掌握几个Vue框架

vue是一套用于构建用户界面的渐进式JavaScript框架&#xff0c;简单说Vue是类似于view的前端框架。vue开发核心是关注视图层&#xff0c;同时它更加容易与第三方库结合&#xff0c;再者我们在现有的项目中可以直接整合一起。目前vue技术社区在英文或中文都非常丰富&#xff0c;…

sha256算法

文章目录前言一、sha256是什么&#xff1f;二、go语言实现前言 提示&#xff1a;以下是本篇文章正文内容&#xff0c;下面案例可供参考 一、sha256是什么&#xff1f; SHA256是SHA-2下细分出的一种算法 SHA-2&#xff0c;名称来自于安全散列算法2&#xff08;英语&#xff…

Python 模块 requests 模拟登录豆瓣 并 发表动态

如何抓取 WEB 页面&#xff1a;http://blog.csdn.net/chenguolinblog/article/details/45024643github 上一个关于模拟登录的项目&#xff1a;https://github.com/xchaoinfo/fuck-login Python爬虫之模拟登录总结&#xff1a;http://blog.csdn.net/churximi/article/details/50…

华为云BU总裁:如何把AI从噱头变为生产力?

来源&#xff1a;亿欧网 作者&#xff1a;张之颖“别跟着喊口号&#xff0c;少看朋友圈。…人工智能在中国被过分炒作了&#xff0c;现在国内人工智能已被娱乐化。不是做两个刷脸应用、搞一个APP就叫做人工智能。”华为云BU总裁郑叶来接受环球网记者的采访时表示&#xff0c;华…

DSA签名算法

文章目录前言一、DSA是什么&#xff1f;二、go语言实现前言 提示&#xff1a;以下是本篇文章正文内容&#xff0c;下面案例可供参考 一、DSA是什么&#xff1f; DSA&#xff08;Digital Signature Algorithm&#xff0c;数字签名算法&#xff0c;用作数字签名标准的一部分&a…

Java并发编程实战~Actor 模型

Hello Actor 模型 Actor 模型本质上是一种计算模型&#xff0c;基本的计算单元称为 Actor&#xff0c;换言之&#xff0c;在 Actor 模型中&#xff0c;所有的计算都是在 Actor 中执行的。在面向对象编程里面&#xff0c;一切都是对象&#xff1b;在 Actor 模型里&#xff0c;一…

master分支删除文件_Git分支基础简介;创建分支;合并分支;删除分支;

目录为了演示&#xff1a;我们创建了一个本地仓库testBranch&#xff0c;一个远程仓库testBranchRe&#xff1a;1.当我们创建一个本地仓库的时候&#xff0c;这个本地仓库中就会有一个主分支&#xff0c;即master分支&#xff1b;2.每次提交&#xff0c;master就会向后移动一个…

跳动的菜单

<html> <head> <meta http-equiv"Content-Type" content"text/html; charsetgb2312" /> <title>模仿as效果的导航菜单</title> <style type"text/css"> <!-- a:link,a:visited { text-decoration: no…

Python 爬虫框架 - PySpider

Python爬虫进阶四之PySpider的用法&#xff1a;http://cuiqingcai.com/2652.html 网络爬虫剖析&#xff0c;以Pyspider为例&#xff1a;http://python.jobbole.com/81109 Python爬虫利器六之PyQuery的用法&#xff1a;https://cuiqingcai.com/2636.html 爬虫框架pyspider个人总…