Я переношу некоторый старый код, где HtmlTextWriter
широко используется для визуализации элементов пользовательского интерфейса.Использование HtmlTextWriter в ASP.NET MVC
Я переношу код для использования ASP.NET MVC 1.0. Насколько мне известно, я не использую какую-либо функцию HtmlTextWriter
(например, отступы).
В настоящее время я использую метод обертку для возврата строки, порожденную HtmlTextWriter
следующим образом:
var sw = new StringWriter();
var xhtmlTextWriter = new XhtmlTextWriter(sw);
GenerateHtml(xhtmlTextWriter);
return sw.ToString();
Мои вопросы:
Я пытаюсь получить
HtmlTextWriter
экземпляр из ASP. NET MVC View, но, по-видимому, даже HtmlHelper не использует это. Мне что-то не хватает?Каждый звонок
GenerateHtml
генерирует небольшие фрагменты HTML, как правило, не более 1000 символов, но может быть много вызовов. Стоит ли переписывать зависимый кодHtmlTextWriter
в StringBuilder? Или вместо этого, как насчет создания экземпляраHtmlTextWriter
, который будет использоваться для всех вызовов (и будет очищен в конце итераций).
... не исправить. Да, но моя главная проблема заключается в том, что код предполагает, что HtmlTextWriter поддерживается потоком, а не StringWriter/StringBuilder. Наличие другого бэкэнд может серьезно повлиять на производительность и может быть воспринято конечным пользователем как «сломанное». –
Если профилирование доказывает, что это на самом деле узкое место, тогда обязательно исправьте это. –