zoukankan
html css js c++ java
HtmlTextWriter学习笔记
这两天正好在研究asp.net自定义控件制作,HtmlTextWriter在控件制作中发挥重要作用,能够帮助我快速生成html语句。因此决定写下笔记,方便以后查阅。HtmlTextWriter的名称空间是System.Web.UI,如果在winform程序下使用,不要忘了添加System.Web.dll引用。
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标签以外的所有信息。
喜欢请赞赏一下啦^_^
查看全文
相关阅读:
【leetcode】9. Palindrome Number
【leetcode】7. Reverse Integer
【Leetcode】6. ZigZag Conversion
Mysql读写分离
Windows下为PHP安装redis扩展
jquery 写的图片左右连续滚动
PHP中spl_autoload_register函数的用法
MySQL命令行查询乱码解决方法:
AJAX 教程
Mac安装composer爬过的坑
原文地址:https://www.cnblogs.com/amadeuslee/p/3744584.html
最新文章
Python与设计模式--工厂模式
Android中使用ps命令查看进程PID
Android中UID和PID的作用和区别
CSS书写规范、顺序
深入理解webpack打包机制
es6面试题--Promise相关
angular2 Router类中的路由跳转navigate
前端移动端适配总结
CSS 预处理器
grid栅格布局
热门文章
Angular2-管道
Running Protractor Tests on Docker
前端测试
【leetcode】10.Regular Expression Matching
常用字符串与集合类转换的工具类
生成随机字符串(UUID方法)
生成随机字符串的工具类
对象序列化工具类
【Leetcode】357. Count Numbers with Unique Digits
【Leetcode】355. Design Twitter
Copyright © 2011-2022 走看看