0
我正在尝试使用ListView
来生成复杂的项目列表。对于每一个项目我必须创建这样的字符串串联或HtmlGenericControl html控件?
<div>
<ul>
<li>foo<li>
<li>bar<li>
.... Dynamic count of <li>
<ul>
<span>Some dynamic text</span>
.. bunch of other dynamicly generated html
</div>
我的问题是什么是更好的方式使用字符串连接这样
StringBuilder sb = new StringBuilder();
sb.Append("<div>");
.......
sb.Append("</div>")
或使用HtmlGenericControl这样生成html.By:
HtmlGenericControl htmlItem = new HtmlGenericControl("div");
....
using(TextWriter textWriter = new StringWriter())
using(HtmlTextWriter htmlWriter = new HtmlTextWriter(textWriter))
{
HtmlGenericControl htmlItem = null;
CreateMenuItem(menuItem, 0, null);
htmlItem.RenderControl(htmlWriter);
return textWriter.ToString();
}
'string.Format',或'StringBuilder.AppendFormat'经常在这里很有用,比如当你有动态文本的跨度,你可以有'sb.AppendFormat( “ {0}”,getSpanContent ());”它使大多数静态XML在代码中更具可读性。如果它是多行的,你也可以使用'@“”'作为一个多行代码的HTML字符串,并且有很多插入数据的{}插入。 – Servy 2012-04-11 18:11:14