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标签以外的所有信息。
喜欢请赞赏一下啦^_^
查看全文
相关阅读:
第三课 本代码用于学习vue根组件数据的各种绑定
第七课 键入事件,点击绑定事件,数据判断及删除事件
第九课 代码封装localstorage
第八课 没有封装localstorage
第五课 vue的事件调用自定义方法
第六课 点击事件调用自定义方法
new多个文件编程和split单个文件多个窗口编程
线性表特点和用法总结
scanf在输入整型数据和字符型数据时的不同
tasklet源码注释翻译
原文地址:https://www.cnblogs.com/amadeuslee/p/3744584.html
最新文章
zookeeper 的数据模型
处理机调度概念、层次
进程通信
计算机网络的概念、组成、功能和分类
线程概念多线程模型
Java之常用的转义字符
Python sum函数 Python零基础入门教程
Python pow 函数 Python零基础入门教程
Python input 函数 Python零基础入门教程
Python enumerate 函数 Python零基础入门教程
热门文章
Python input 函数 Python零基础入门教程
Python map 函数 Python零基础入门教程
Python eval 函数 Python零基础入门教程
Python basestring函数 Python零基础入门教程
Python str 函数 Python零基础入门教程
Python any 函数 Python零基础入门教程
第四课 本文件用于学习vue双向绑定
第十一课 生命周期函数/生命周期钩子
第十课 本文件内容:组件的引入、挂载与使用
第二课 本文件用于学习vue根组件的各个代码部分的含义
Copyright © 2011-2022 走看看