Альтернативный подход к генерации HTML - PullRequest
1 голос
/ 31 марта 2011

Моя программа генерирует HTML через stringbuilder.

         sbHTMLHeader.Append("<div id=\"printableContent\">");
         sbHTMLHeader.Append("<div id=\"packingSlipHeader\">");
         sbHTMLHeader.Append("<div class=\"floatLeft\"><img src=\"../images/logo.gif\" alt=\"Logo\" /></div>");
//...
if (!orderType.Equals("L"))
            {
                sbHTMLHeader.Append("     <td>" + orderData.Tables[0].Rows[0]["carrier"] + "</td>" + Environment.NewLine);
                //...
            }
            else
            {
                sbHTMLHeader.Append("     <td></td>" + Environment.NewLine);
                 //...
            }
//...

380 строк спустя, я страстно против этого кода.В прошлом я использовал Altova Stylevision. На моей нынешней работе у нас нет лицензии на этот продукт.Мне не нужен какой-либо PDF или другие шаблоны, которые он предоставляет, только HTML.Можете ли вы предложить мощную, удобочитаемую альтернативу для генерации HTML, как указано выше?

Ответы [ 3 ]

2 голосов
/ 31 марта 2011

Альтернативой может быть сохранение всех данных в файле XML и запись XSLT (таблицы преобразования), которая превращает их в HTML.

1 голос
/ 31 марта 2011

Вы определенно можете использовать NVelocity , чтобы помочь с генерацией такого шаблонного HTML.Базовый синтаксис прост, и вы можете пойти довольно сложно.Это должно сэкономить вам много утомительного кодирования, и вам не нужно заранее обрабатывать входные данные.

1 голос
/ 31 марта 2011

Как обычно я могу порекомендовать: Html Agility Pack

В другом подходе вы можете использовать классы из System.Web.UI.HtmlControls пространства имен для создания html.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...