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标签以外的所有信息。
喜欢请赞赏一下啦^_^
查看全文
相关阅读:
django项目中使用手机号登录
django项目登录中使用图片验证码
django项目中使用bootstrap插件的分页功能。
scrapy框架用CrawlSpider类爬取电影天堂.
scrapy框架爬取开源中国项目大厅所有的发布项目。
scrapy框架爬取智联招聘网站上深圳地区python岗位信息。
Django项目中使用qq第三方登录。
使用scrapy框架爬取全书网书籍信息。
【教程】如果公司的网络屏蔽了游戏【英雄联盟】的链接请求,使用这种方法玩游戏。
尝试.Net Core—使用.Net Core + Entity FrameWork Core构建WebAPI(一)
原文地址:https://www.cnblogs.com/amadeuslee/p/3744584.html
最新文章
清晰易懂的进程与线程之间的区别
vue-挂载点-实例成员-数据-过滤器-文本指令-事件指令-属性指令-表单指令-01
Django-中间件-csrf扩展请求伪造拦截中间件-Django Auth模块使用-效仿 django 中间件配置实现功能插拔式效果-09
Django-多对多关系的三种创建方式-forms组件使用-cookie与session-08
Django-choices字段值对应关系(性别)-MTV与MVC科普-Ajax发json格式与文件格式数据-contentType格式-Ajax搭配sweetalert实现删除确认弹窗-自定义分页器-批量插入-07
Django-官网查询部分翻译(1.11版本文档)-QuerySet-字段查找-06
Django-手撸简易web框架-实现动态网页-wsgiref初识-jinja2初识-python主流web框架对比-00
Django-下载安装-配置-创建Django项目-三板斧简单使用
js2
jquery
热门文章
作业十五——语法制导的语义翻译
RedHat Enterprise Linux 5 配置Samba服务器
作业十四——算符优先分析
Python:pycharm中使用pandas读取中文路径报错问题的解决方案
作业十三——自下而上语法分析
实验二——递归下降语法分析
Python——DataFrame转list(包含两种)
作业十一——LL(1)文法的判断
作业十——消除左递归
scrapy框架爬取糗妹妹网站妹子图分类的所有图片
Copyright © 2011-2022 走看看