Muy buenas. Para crear los contenidos de determinadas secciones de un sitio he tratado de insertarlos en una base de datos. Almacenar el texto con formato HTML no hay problema, ya que lo edito a través de un Editor HTML del Ajax Control Toolkit.
La cuestión es si quiero insertar alguno de los controles personalizados que tengo para la aplicación. Al leer la base de datos y mostrarlo, lógicamente no me va a interpretar las etiquetas del control personalizado y me lo va a enviar al cliente tal cual:
Código HTML:
Ver original<controlesPersonalizados:DescargaDocumento ID="DescargaDocumentoID"
runat="server" NavigateUrl="documento.pdf" Target="_blank">Descargar documento</controlesPersonalizados:DescargaDocumento>
Había pensado procesar previamente el texto obtenido de la base de datos y sustituir la etiqueta del control por una inserción dinámica del control personalizado. Indicar que el texto de la base de datos (código HTML) se procesa a su vez en el evento Render de otro control personalizado:
Código vb:
Ver originalProtected Overrides Sub Render(ByVal writer As HtmlTextWriter)
'MyBase.Render(writer)
writer.Write(String.Format("<h1>{0}</h1>", Titulo))
writer.Write(String.Format("{0}", Contenido))
writer.Write(String.Format("<div class=""fechasSeccion"">Publicado: {0:dd/MM/yyyy}", FechaPublicacion))
If FechaActualizacion <> FechaPublicacion Then
writer.Write(String.Format(" Última actualización: {0:dd/MM/yyyy}</div>", FechaActualizacion))
End If
writer.Write("</div>")
End Sub
Gracias y un saludo.