我正在从c#应用程序生成动态HTML,通过使用字符串构建器,附加html标记并最终形成完整的html.在所有的stringbuilder中,我用c#object替换html占位符.
正在构建的html是复杂的,我需要从c#属性填充占位符,有时需要填充数据库调用.没有XML所以不使用XSLT.由于我的html文件庞大而且需要很多字符串buider.大多数部分都是根据业务逻辑重复的.
现在一切都工作正常,我想从stringbuilder中删除带有硬编码的html字符串,因为后来的维护很难.任何最好的建议,从控制台应用程序摆脱硬编码的HTML.
性能方面,使用大量的字符串构建器是好的(至少使用500个字符串构建器)例如,我的html拆分如下
我刚刚提供了几行代码供您参考.
代码示例:
htmlStringBuilder.Append("<table class=\"paddingIndendation\" style=\"width: 100%;\" border=\"1\">");
htmlStringBuilder.Append(string.Format("<tr><td>Location {0}</td><td>:</td><td>{1}</td></tr>", location.LocationNumber, location.AddressLine1));
htmlStringBuilder.Append(string.Format("<tr><td colspan=\"2\" style=\"text-align:right;\"></td><td>{0}</td></tr>", location.AddressLine2));
htmlStringBuilder.Append(string.Format("<tr><td colspan=\"2\" style=\"text-align:right;\"></td><td>{0} {1}</td></tr>", location.PostalCode, location.City));
htmlStringBuilder.Append(string.Format("<tr><td colspan=\"2\" style=\"text-align:right;\"></td><td>{0} {1}</td></tr>", this.Id,this.StartEffectiveDate));
Run Code Online (Sandbox Code Playgroud)
我想将hardcorded html内容移动到某处(可能是文件或资源文件)并用属性替换占位符.任何人都可以建议最好的方法来做到这一点.