Two ways to get HtmlTextWriter for HTML rendering
Posted on 2006-11-02 16:03 bestcomy 阅读(1383) 评论(0) 编辑 收藏 举报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.
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 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架