Я работаю над веб-приложением ASP.NET и продолжаю сталкиваться с одной и той же проблемой:
Иногда я хочу написать HTML-код страницы из-за кода. Например, у меня есть страница Editor.aspx, вывод которой варьируется в зависимости от значения переменной GET, «view». Другими словами, «Editor.aspx? View = apple» выводит другой HTML, чем «Editor.aspx? View = oranges».
В настоящее время я вывожу этот HTML-код с помощью StringBuilder. Например, если я хочу создать список, я мог бы использовать следующий синтаксис:
myStringBuilder.AppendLine("<ul id=\"editor-menu\">");
myStringBuilder.AppendLine("<li>List Item 1</li>");
myStringBuilder.AppendLine("</ul>");
Проблема в том, что я бы предпочел использовать элемент управления List в ASP.NET для этой цели, потому что несколько строк синтаксиса StringBuilder ухудшают читабельность моего кода. Однако элементы управления ASP.NET обычно выводят извилистый HTML с уникальными идентификаторами, встроенными стилями и случайным блоком встроенного JavaScript.
У меня вопрос: есть ли элемент управления ASP.NET, который просто представляет общий тег HTML? Другими словами, есть ли элемент управления, как в следующем примере:
HTMLTagControl list = new HTMLTagControl("ul");
list.ID = "editor-menu";
HTMLTagControl listItem = new HTMLTagControl("li");
listItem.Text = "List Item 1";
list.AppendChild(listItem);
Я знаю, что есть обертки и тому подобное, но вместо того, чтобы приручить сложность ASP.NET, я бы предпочел начать с простоты с самого начала.