ПЫЛАТЬ!
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;
Я, вероятно, буду за это опускаться, но как бывший дизайнер, который должен был настроить HTML в коде, прежде чем я действительно много знал о .NET, приведенный выше код был намного проще для понимания, чем методы, которые абстрагируют создание HTML. Если вы думаете, что дизайнеру может понадобиться настроить ваш HTML, используйте простые строки, подобные этой.
Я вижу, что многие разработчики упускают при написании HTML в коде то, что в HTML допускаются одинарные или двойные кавычки для атрибутов. Таким образом, вместо экранирования всех кавычек в коде (который выглядит неуклюже как бродяга для не инициированного), просто используйте одинарные кавычки для кавычек html внутри ваших строк.
FINE. Все, что вы связываете ненавистников, связывают мою репутацию. Вот «правильный» способ сделать это без конкатенации строк, но я придерживаюсь своего мнения, что любая обычная страница с обычными таблицами не будет представлять проблем с производительностью за пределами какой-то нелепой 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();