2010-01-10 11 views
5

Mam formant widoku szczegółów asp.net na stronie. Zauważyłem, że zawsze wyświetla nieprzetworzony tekst z pola mojej bazy danych, nie interpretuje html w tekście - wyświetla więc pogrubiony tekst w tekście jako < b> mytext </b>.asp.net: DetailsView formantu nie interpretującego html

Czy mimo to uzyskać kontrolę zinterpretować html w danych zwracanych

Pozdrowienia stopu

Odpowiedz

8

można pisać kod kontrolą? Podstawy, musisz ustawić właściwość HtmlEncode na false. Wynika to z różnicy w sposobie obsługi kodowania etykiet i pól tekstowych, co ma na celu ochronę przed złośliwymi skryptami, które ktoś mógł wprowadzić w tych polach.

Jeśli masz ustawione automatyczne generowanie pól (domyślne), musisz zamiast tego zmienić na BoundField s lub TemplateField s i ustawić wartość false dla niepoprawnego pola HtmlEncode Property.

Można zobaczyć code sample of the individual fields in MSDN, oto uproszczony przykład:

<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 = „false” wystarczyły, dziękuję za tą końcówką. – Melt

Powiązane problemy