我從c#應用程序生成動態HTML,通過使用字符串生成器html標記被追加並最終形成完整的html。在所有的stringbuilder我用c#對象替換html佔位符。在c#中創建動態html的最好方法#
建設的html是複雜的,我需要從c#屬性填充佔位符,有時數據庫調用。沒有XML,因此不使用XSLT。因爲我的html文件需要大量的字符串buider。大部分章節都是基於業務邏輯重複的。
現在一切正常,我想從stringbuilder中移走hardedcoded html字符串,因爲maintenence以後會很難。從控制檯應用程序中擺脫硬編碼html的任何最佳建議。
在性能方面,它的好處是使用大量的字符串生成器的(ATLEAST 500的StringBuilder正在使用) 例如,我的HTML拆分爲如下
- 頭部分
- 主體部分
2.1 SECTION1
2.1.1節1.1
2.1.2節1.2
2.1.3節1.3
2.2第2節
2.3 SECTION3
2.4 section4
2.5 section5
3.Footer部分 - Temrs和條件
我剛纔提供的幾行代碼在這裏,供大家參考。
代碼示例:
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));
我想移動hardcorded HTML內容的地方(可能是到文件或資源文件),並具有屬性替換佔位符。任何人都可以建議最好的方式來做到這一點。
爲什麼不長時間創建頁面會節省很多頭疼和維護噩夢..你可以在'.aspx'標記中保留很多你正在做的事情。 – MethodMan
正在生成的html用於創建PDF文檔。從長遠來看創建頁面意味着什麼?我不清楚這一點。你能解釋一下嗎? – Govind