ASP.net Literal или страница изменяют строку HTML, вызывая проблемы с форматированием - PullRequest
0 голосов
/ 16 июня 2010

У нас есть сервис, который генерирует отчет (используя шаблоны слов и стороннюю библиотеку), а затем возвращает строку в HTML.Хотя этот HTML не очень хорош - он правильно отформатирован в этой строке.

Мы хотим, чтобы этот HTML-код отображался на странице в неизменном формате.В настоящее время мы сделали текстовый элемент ASP.net Literal для этой строки.

Хотя это работает, я заметил, что он немного переформатировал строку HTML.По большей части, похоже, что он породил кучу новых классов CSS и новый элемент стиля в HTML.Этот HTML не существует в возвращаемой строке.Я мог бы отфильтровать все это обратно, но подумать, есть ли лучший способ.

Я предполагаю, что сама страница что-то меняет.

Как лучше всего отобразить этот необработанный HTML обратно пользователю?Я не могу напрямую использовать Response.Write (строку), потому что на этой странице есть несколько других элементов управления.

Ответы [ 3 ]

0 голосов
/ 16 июня 2010

Литеральные элементы управления не форматируют свои текстовые значения (AFAIK), поэтому я бы предположил, что это что-то другое. Возможно, фильтр ответа (Request.Filter), который может изменить вывод страницы? Другая возможность может заключаться в том, что содержащийся элемент управления может изменять значение своих дочерних элементов управления (т. Е. Вашего литерала) в своем пользовательском рендеринге.

0 голосов
/ 16 июня 2010

Это была моя собственная ошибка, настройка сторонней библиотеки.Я сохранял свою страницу сравнения до того, как она портилась на CSS.Спасибо за ваши полезные ответы, хотя - я думал, что схожу с ума!

0 голосов
/ 16 июня 2010

Я не слышал, чтобы элемент управления Literal вел себя так, как вы описали, и не видел, чтобы он вел себя так, когда бы я ни использовал его, но раньше я не пытался выводить html таким образом.
Альтернативой может быть назначение html для свойства общедоступной страницы в вашем коде за файлом, а затем использовать теги сценария на стороне сервера в файле aspx для отображения содержимого этого свойства:

<%=HTMLString %>
...