FLAME ON!
var html = "";
html += "<table class='colorful'>";
foreach(var item in collection) {
html += "<tr>";
html += "<td class='boldCell'>" + item.PropWhatever + "</td>";
// more cells here as needed
html += "</tr>";
}
html += "</table>";
placeholder1.InnerHtml = html;
Probabilmente otterrò downvoted per questo, ma come un ex progettista che ha dovuto modificare l'HTML in codice prima di conoscere davvero molto di .NET, il codice di cui sopra era molto più facile da capire rispetto ai metodi che creano una creazione HTML astratta. Se pensi che un designer possa mai dover modificare il tuo codice HTML, usa stringhe semplici come questa.
Qualcosa che vedo mancare molto agli sviluppatori quando scrivono HTML nel codice è che in HTML, le virgolette singole o doppie sono consentite per gli attributi. Quindi, invece di sfuggire a tutte le virgolette nel codice (che sembra malizioso per i non iniziati), basta usare le virgolette singole per le virgolette html all'interno delle stringhe.
AMMENDA. Tutti gli artificieri che concatenano le stringhe sono crampin 'il mio rappresentante. Ecco il modo "corretto" per farlo senza concatenazione di stringhe, ma sono dell'opinione che qualsiasi pagina normale con tabelle normali non presenterà problemi di rendimento al di fuori di una ridicola scala simile a Google:
var sb = new System.Text.StringBuilder();
sb.Append("<table class='colorful'>");
foreach (var item in collection)
{
sb.Append("<tr>");
sb.Append("<td class='boldCell'>" + item.PropWhatever + "</td>");
// more cells here as needed
sb.Append("</tr>");
}
sb.Append("</table>");
placeholder1.InnerHtml = sb.ToString();