Вылечить уродливое форматирование HtmlTextWriter? - PullRequest
1 голос
/ 22 февраля 2011

Я создаю серверный элемент управления ASP.NET с помощью класса HtmlTextWriter.Насколько я понимаю, это хороший класс, чтобы использовать его для проверки правильности моего выходного HTML.Я предполагал, что это также хорошо отформатирует вещи, но он делает кучу странных вещей, которые затрудняют чтение вывода.

Есть ли какие-то настройки или что-то, с чем я могу поиграть, чтобы кто-то взялвремя правильно его отформатировать, или это просто недостаток использования этого класса?Вот несколько примеров уродливого форматирования, о котором я говорю:

  • Непоследовательное использование самозакрывающихся тегов.С некоторыми тегами я получаю их, а с другими - нет.
  • Случайные новые строки между тегами.
  • Отсутствие новых строк в соответствующих местах.
  • Несоответствующий отступ.

Это то, что я пытаюсь воспроизвести:

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" id="MySWF" width="100" height="100" codebase="https://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab">
    <param name="movie" value="/MySWF.swf"></param>
    <param name="quality" value="high" />
    <param name="allowScriptAccess" value="sameDomain" /> 
    <embed align="middle" pluginspage="https://www.adobe.com/go/getflashplayer" width="100" quality="high" height="100" loop="false" name="MySWF" type="application/x-shockwave-flash" play="true" allowscriptaccess="sameDomain" src="/MySWF.swf" />
</object>

... и вот что я получаю:

    <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" id="MySWF" width="100" height="100" codebase="https://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab">
        <param name="movie" value="/MySWF.swf">

        </param><param name="quality" value="high">

        </param><param name="allowScriptAccess" value="sameDomain">

        </param><embed align="middle" pluginspage="https://www.adobe.com/go/getflashplayer" width="100" quality="high" height="100" loop="false" name="MySWF" type="application/x-shockwave-flash" play="true" allowscriptaccess="sameDomain" src="/MySWF.swf" />
</object>

1 Ответ

2 голосов
/ 22 февраля 2011

AFAIK, нет никаких настроек для фактического форматирования.Если вы хотите отформатировать его самостоятельно, это, вероятно, будет лучшим решением.Ты, это создаст некоторые накладные расходы, так что иди, если оно того стоит.Вот некоторые примеры форматирования DIY с открытым исходным кодом

http://snipplr.com/view/28048/net-html-formatter/

http://weblogs.asp.net/scottcate/archive/2007/01/10/my-c-code-formatting.aspx

...