2010-01-10 3 views
5

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

Есть в любом случае, чтобы получить контроль интерпретировать HTML в данных, возвращаемых

Regards расплава

ответ

8

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

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

Вы можете увидеть code sample of the individual fields in 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> 
+0

HtmlEncode = «ложь» сделал трюк, спасибо за этот кончик. – Melt

Смежные вопросы