HtmlTextWriter学习
生活随笔
收集整理的這篇文章主要介紹了
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標簽以外的所有信息。
這兩個類不存在繼承和被繼承關系。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
總結
以上是生活随笔為你收集整理的HtmlTextWriter学习的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2008中国软件企业出口(外包)20强
- 下一篇: GIS单词汇总