2010-01-10 10 views
5

Tengo un control de vista de detalles asp.net en una página. Me he dado cuenta de que siempre muestra el texto sin formato de mi campo de base de datos, no interpreta el html en el texto, por lo que muestra < b> mytext </b> en lugar de simplemente mytext en negrita.asp.net: DetailsView control no interpreta html

¿Hay alguna forma de conseguir el control de interpretar el código HTML en los datos que se devuelven

Saludos masa fundida

Respuesta

8

Se puede publicar el código de su control? Lo básico es que debes establecer la propiedad HtmlEncode en falso. Esto se debe a la diferencia en la forma en que las etiquetas y los cuadros de texto manejan la codificación, algo que pretende protegerlo de las secuencias de comandos maliciosas que alguien haya ingresado en estos campos.

Si lo tienes configurado para generar automáticamente los campos (por defecto), tendrá que cambiar a BoundField s o s TemplateField lugar y establecer de HtmlEncode Property el campo infractor a falso.

Se puede ver un code sample of the individual fields in MSDN, esto es un ejemplo simplificado:

<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" resolvieron el problema, muchas gracias por esa punta. – Melt

Cuestiones relacionadas