ПОЛЕ ВКЛЮЧЕНО!
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 цитат у ваших рядках.
ТОЧО. Все, що ви змусили стрибати ненависників, - це мій реп. Ось "правильний" спосіб зробити це без з'єднання рядків, але я притримуюсь своєї думки, що будь-яка звичайна сторінка з нормальними таблицями не буде мати жодних проблем із продуктивністю поза деяким смішним масштабом, схожим на 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();