HtmlTextWriter学习
生活随笔
收集整理的這篇文章主要介紹了
HtmlTextWriter学习
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
HtmlTextWriter與Html32TextWriter
這兩個類不存在繼承和被繼承關(guān)系。HtmlTextWriter支持Html4.0標(biāo)準(zhǔn),而Html32TextWriter支持Html3.2標(biāo)準(zhǔn),在msdn中一般不建議將Html32TextWriter實(shí)例話,它僅為支持低版本的瀏覽器而設(shè)計。
HtmlTextWriter初始化
HtmlTextWriter的構(gòu)造函數(shù)要求必須傳遞一個與TextWriter接口兼容的實(shí)例。大家可以根據(jù)需要選擇合適的TextWriter接口實(shí)現(xiàn)類,因?yàn)樵擃惖倪x擇將決定最終生成的Html文本的輸出方式,例如我想把結(jié)果輸出到一個TextBox中,于是我就使用了StringWriter類的實(shí)例作為參數(shù)傳入:
????? StringWriter sw=new System.IO.StringWriter();
????? HtmlTextWriter writer=new HtmlTextWriter(sw);
如果要獲得結(jié)果,只需要使用sw.toString()就可以了。注意,HtmlTextWriter本身不提供輸出方法或?qū)傩浴?
HtmlTextWriter常用方法
1. void RenderBeginTag(HtmlTextWriterTag tagKey)
?????? 用于創(chuàng)建Html開始標(biāo)簽,如<body>,這里的HtmlTextWriterTag是一個枚舉類型,里面有所有的標(biāo)準(zhǔn)Html4.0標(biāo)簽枚舉值,如果我要使用添加body標(biāo)簽,就是RenderBeginTag(HtmlTextWriterTag.Body)
2. void RenderEndTag()
?????? 與RenderBeginTag一一對應(yīng),有幾個RenderBeginTag就必須有幾個RenderEndTag,當(dāng)然,RenderEndTag不一定要馬上跟在對應(yīng)的RenderBeginTag之后,要根據(jù)Html語句決定。如下面的例子:
<html>
?????? <head></head>
?????? <body></body>
</html>
上面一段是html基本結(jié)構(gòu),使用HtmlTextWriter生成就是
????? writer.RenderBeginTag(HtmlTextWriterTag.Html);
????? writer.RenderBeginTag(HtmlTextWriterTag.Head);
????? writer.RenderEndTag();
????? writer.RenderBeginTag(HtmlTextWriterTag.Body);
????? writer.RenderEndTag();
????? writer.RenderEndTag();
3. void AddAttribute()
?????? 用于添加標(biāo)簽的屬性,例如<img>標(biāo)簽的url屬性、width屬性等。使用該方法時要注意一點(diǎn),AddAttribute語句必須出現(xiàn)在對應(yīng)的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" />,可以發(fā)現(xiàn)所有的img標(biāo)簽屬性的添加都在RenderBeginTag之前。
4. void Write()和void WriteLine()
用于寫除標(biāo)準(zhǔn)Html標(biāo)簽以外的所有信息。
這兩個類不存在繼承和被繼承關(guān)系。HtmlTextWriter支持Html4.0標(biāo)準(zhǔn),而Html32TextWriter支持Html3.2標(biāo)準(zhǔn),在msdn中一般不建議將Html32TextWriter實(shí)例話,它僅為支持低版本的瀏覽器而設(shè)計。
HtmlTextWriter初始化
HtmlTextWriter的構(gòu)造函數(shù)要求必須傳遞一個與TextWriter接口兼容的實(shí)例。大家可以根據(jù)需要選擇合適的TextWriter接口實(shí)現(xiàn)類,因?yàn)樵擃惖倪x擇將決定最終生成的Html文本的輸出方式,例如我想把結(jié)果輸出到一個TextBox中,于是我就使用了StringWriter類的實(shí)例作為參數(shù)傳入:
????? StringWriter sw=new System.IO.StringWriter();
????? HtmlTextWriter writer=new HtmlTextWriter(sw);
如果要獲得結(jié)果,只需要使用sw.toString()就可以了。注意,HtmlTextWriter本身不提供輸出方法或?qū)傩浴?
HtmlTextWriter常用方法
1. void RenderBeginTag(HtmlTextWriterTag tagKey)
?????? 用于創(chuàng)建Html開始標(biāo)簽,如<body>,這里的HtmlTextWriterTag是一個枚舉類型,里面有所有的標(biāo)準(zhǔn)Html4.0標(biāo)簽枚舉值,如果我要使用添加body標(biāo)簽,就是RenderBeginTag(HtmlTextWriterTag.Body)
2. void RenderEndTag()
?????? 與RenderBeginTag一一對應(yīng),有幾個RenderBeginTag就必須有幾個RenderEndTag,當(dāng)然,RenderEndTag不一定要馬上跟在對應(yīng)的RenderBeginTag之后,要根據(jù)Html語句決定。如下面的例子:
<html>
?????? <head></head>
?????? <body></body>
</html>
上面一段是html基本結(jié)構(gòu),使用HtmlTextWriter生成就是
????? writer.RenderBeginTag(HtmlTextWriterTag.Html);
????? writer.RenderBeginTag(HtmlTextWriterTag.Head);
????? writer.RenderEndTag();
????? writer.RenderBeginTag(HtmlTextWriterTag.Body);
????? writer.RenderEndTag();
????? writer.RenderEndTag();
3. void AddAttribute()
?????? 用于添加標(biāo)簽的屬性,例如<img>標(biāo)簽的url屬性、width屬性等。使用該方法時要注意一點(diǎn),AddAttribute語句必須出現(xiàn)在對應(yīng)的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" />,可以發(fā)現(xiàn)所有的img標(biāo)簽屬性的添加都在RenderBeginTag之前。
4. void Write()和void WriteLine()
用于寫除標(biāo)準(zhǔn)Html標(biāo)簽以外的所有信息。
轉(zhuǎn)載于:https://www.cnblogs.com/ywqu/archive/2008/09/19/1294087.html
總結(jié)
以上是生活随笔為你收集整理的HtmlTextWriter学习的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2008中国软件企业出口(外包)20强
- 下一篇: vue学习笔记-01-前端的发展历史(从