Label de varias lineas en ASP.NET usando C#

by ryudice on March 24, 2007

Hace poco tuve un problema con un sistema de noticias en la intranet, y es que tenia un datalist que despliega noticias usando una plantilla, y el cuerpo de la noticia se pone en un label, el problema era que toda la noticia salia en una sola linea ya que el label es codigo HTML, y en HTML el enter para crear una nueva linea es <br> no el caracter ASCII de windows. Para solucionar este problema hay que hacer lo siguiente:


Primero creamos una funcion que va reemplazar el enter normal por <br>:

public string multilinea(Object s)
{
string r = s.ToString();
return r.Replace(Environment.NewLine, “<br>”);
}
Luego necesitamos ir al codigo del documento aspx y buscar la seccion del datalist, dentro de esta seccion debe haber el codigo de nuestro label que se deberia de ver similar a <asp:Label ID=”CONTENIDOLabel” runat=”server” Text=’<%# Eval(“CONTENIDO”) %>’ OnDataBinding=”CONTENIDOLabel_DataBinding”></asp:Label>

Este codigo se encuentra en el documento aspx no en el .cs si seleccionaron la opcion de usar un archivo de codigo separado.

Ahora despues de encontrar el label en el que queremos mostrar mas de una linea, en la propiedad “Text” del label si se fijan dice <%# Eval(“CONTENIDO”) %>, este es el codigo que despliega el texto de nuestra base de datos en el label, entonces utilizando la funcion que creamos arriba vamos a procesar el texto y el resultado se va mostrar en el label, para hacer esto simplement utilizamos nuestra funcion creada antes de la siguiente forma:
<asp:Label ID=”CONTENIDOLabel” runat=”server” Text=’<%# multilinea(Eval(“CONTENIDO”)) %>’ OnDataBinding=”CONTENIDOLabel_DataBinding”></asp:Label>

Y eso es todo, lo que hace la funcion es buscar los enters usando Environment.Newline, y luego los reemplaza con <br>.

Share and Enjoy:
  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • Twitter

Related posts:

  1. DaysSince() extension method like in Rails

{ 3 comments… read them below or add one }

Alfredo Beltran March 26, 2009 at 1:46 pm

Gracias!, me fue de ayuda; en mi caso estaba concatenando en un StringBuilder lo que desplegaría en el asp:Label, así que solo le concatené la cadena: “” entre cada línea y con eso me funcionó tal cual lo deseaba.

Angelica January 28, 2010 at 5:41 pm

Un millón de gracias, me funcionó tal como lo necesitaba!!!!!!!!!

Cristian March 19, 2010 at 5:12 am

Compadre tu articulo me sorvio muchisimo!
me sacaste de apuros gracias

Leave a Comment

Get Adobe Flash playerPlugin by wpburn.com wordpress themes

PensandoEnCodigo is Digg proof thanks to caching by WP Super Cache