I need to render some html in my asp.net applications sometime, I chose HtmlTextWriter to build the html source because I can use those handy methods of this object such as RenderBeginTag, AddAttribute, and so on. I know two ways to do this.
style="WIDTH: 490px; HEIGHT: 150px" align="center" marginwidth="0" marginheight="0" src="http://www.bloggao.com/script.aspx?userid=26256&AdType=0&AdstyleID=31302&Direction=1" frameborder="0" width="490" scrolling="no" height="150">
1
StringBuilder sb
=
new
StringBuilder();
2 using (StringWriter sw = new StringWriter(sb))
3 {
4 using (HtmlTextWriter output = new HtmlTextWriter(sw))
5 {
6 output.RenderBeginTag(HtmlTextWriterTag.Table);
7 for ( int y = 0 ; y < 1000 ; y ++ )
8 {
9 output.RenderBeginTag(HtmlTextWriterTag.Tr);
10 for ( int x = 0 ; x < 100 ; x ++ )
11 {
12 output.RenderBeginTag(HtmlTextWriterTag.Td);
13 output.Write( " " );
14 output.RenderEndTag();
15 }
16 output.RenderEndTag();
17 output.Flush();
18 }
19 output.RenderEndTag();
20 Response.Write(output.ToString());
21 }
22 }
2 using (StringWriter sw = new StringWriter(sb))
3 {
4 using (HtmlTextWriter output = new HtmlTextWriter(sw))
5 {
6 output.RenderBeginTag(HtmlTextWriterTag.Table);
7 for ( int y = 0 ; y < 1000 ; y ++ )
8 {
9 output.RenderBeginTag(HtmlTextWriterTag.Tr);
10 for ( int x = 0 ; x < 100 ; x ++ )
11 {
12 output.RenderBeginTag(HtmlTextWriterTag.Td);
13 output.Write( " " );
14 output.RenderEndTag();
15 }
16 output.RenderEndTag();
17 output.Flush();
18 }
19 output.RenderEndTag();
20 Response.Write(output.ToString());
21 }
22 }
1
using
(MemoryStream stream
=
new
MemoryStream())
2 {
3 using (TextWriter tw = new StreamWriter(stream,System.Text.Encoding.UTF8) as TextWriter)
4 {
5 using (HtmlTextWriter output = new HtmlTextWriter(tw))
6 {
7 output.RenderBeginTag(HtmlTextWriterTag.Table);
8 for ( int y = 0 ; y < 1000 ; y ++ )
9 {
10 output.RenderBeginTag(HtmlTextWriterTag.Tr);
11 for ( int x = 0 ; x < 100 ; x ++ )
12 {
13 output.RenderBeginTag(HtmlTextWriterTag.Td);
14 output.Write( " " );
15 output.RenderEndTag();
16 }
17 output.RenderEndTag();
18 }
19 output.RenderEndTag();
20 output.Flush();
21 Response.Write(output.ToString());
22 }
23 }
24 }
2 {
3 using (TextWriter tw = new StreamWriter(stream,System.Text.Encoding.UTF8) as TextWriter)
4 {
5 using (HtmlTextWriter output = new HtmlTextWriter(tw))
6 {
7 output.RenderBeginTag(HtmlTextWriterTag.Table);
8 for ( int y = 0 ; y < 1000 ; y ++ )
9 {
10 output.RenderBeginTag(HtmlTextWriterTag.Tr);
11 for ( int x = 0 ; x < 100 ; x ++ )
12 {
13 output.RenderBeginTag(HtmlTextWriterTag.Td);
14 output.Write( " " );
15 output.RenderEndTag();
16 }
17 output.RenderEndTag();
18 }
19 output.RenderEndTag();
20 output.Flush();
21 Response.Write(output.ToString());
22 }
23 }
24 }