asp.net: элемент управления DetailsView не интерпретирует HTML - PullRequest
5 голосов
/ 10 января 2010

У меня есть элемент управления просмотром asp.net на странице. Я заметил, что он всегда отображает необработанный текст из моего поля базы данных, он не интерпретирует html в тексте - поэтому он отображает mytext вместо просто mytext, выделенного жирным шрифтом.

Есть ли способ получить элемент управления для интерпретации HTML в возвращаемых данных

С уважением растопить

1 Ответ

8 голосов
/ 10 января 2010

Можете ли вы опубликовать код вашего контроля? Основы: вам нужно установить для свойства HtmlEncode значение false. Это связано с разницей в том, как метки и текстовые поля обрабатывают кодировку, что должно защитить вас от вредоносных сценариев, которые кто-то мог ввести в эти поля.

Если вы настроили автоматическую генерацию полей (по умолчанию), вам нужно изменить значение на BoundField s или TemplateField s вместо этого и установить в поле, вызывающем проблемы. Свойство HtmlEncode в false.

Вы можете увидеть пример кода отдельных полей в MSDN , вот упрощенный пример:

<asp:DetailsView runat="server" AutoGenerateRows="False">
  <Fields>
    <asp:BoundField DataField="ProductName" HeaderText="Product" />
    <asp:BoundField DataField="CategoryName" HeaderText="Category" />
    <asp:BoundField DataField="HTMLField" HeaderText="HTML" HtmlEncode="false" />
  </Fields>
</asp:DetailsView>
...