我的程序通过stringbuilder生成HTML。
sbHTMLHeader.Append("<div id=\"printableContent\">");
sbHTMLHeader.Append("<div id=\"packingSlipHeader\">");
sbHTMLHeader.Append("<div class=\"floatLeft\"><img src=\"../images/logo.gif\" alt=\"Logo\" /></div>");
//...
if (!orderType.Equals("L"))
{
sbHTMLHeader.Append(" <td>" + orderData.Tables[0].Rows[0]["carrier"] + "</td>" + Environment.NewLine);
//...
}
else
{
sbHTMLHeader.Append(" <td></td>" + Environment.NewLine);
//...
}
//...
380行之后,我对这段代码充满热情。在过去,我使用Altova Stylevision.在我目前的工作中,我们没有产品许可证。我不需要它提供的任何PDF或其他模板,只需HTML。您能否建议一个强大的,可读的替代方法来生成如上所述的HTML?
答案 0 :(得分:2)
另一种方法是将所有数据存储在XML文件中,并编写一个将其转换为HTML的XSLT(转换表)。
答案 1 :(得分:1)
通常我可以推荐:Html Agility Pack
在另一种方法中,您可以使用System.Web.UI.HtmlControls命名空间中的类来创建html。
答案 2 :(得分:1)
您绝对可以使用NVelocity来帮助生成这样的模板化HTML。 basic syntax很简单,你可以变得非常复杂。应该为您节省大量繁琐的编码,并且不需要事先按摩您的输入数据。