2011-07-14 22 views
6

Necesito vincular dinámicamente datos de texto grandes a una etiqueta. Obtendré algunos datos de texto grandes de una fuente de datos y tendré que vincularlos a la etiqueta. Entonces, ¿cómo mostrar múltiples líneas de texto en una etiqueta?Enlazar varias líneas de texto en una etiqueta

Respuesta

6

más fácil sería simplemente

string value = "one\r\ntwo\r\nthree"; 

label.Text = value.Replace(Environment.NewLine, "<br/>"); 

Pero si usted tiene una lista de cadenas que puede intentar un enfoque repetidor

<asp:Label ID="label" runat="server"> 
    <asp:Repeater ID="repeater" runat="server"> 
     <ItemTemplate> 
      <%# Container.DataItem %> <br /> 
     </ItemTemplate> 
    </asp:Repeater> 
</asp:Label> 

Y el código

List<string> listOfStrings = new List<string>() 
    { 
     "One", "Two", "Three" 
    }; 

repeater.DataSource = listOfStrings; 
repeater.DataBind(); 
0

No sé en qué "unidades" medirá la longitud del texto. pero agregar <br /> a ur_string comenzará una nueva línea.

EDITADO

esto no es válido para todos los controles asp.net. solo asp.net label se representa como html span, por lo que para la etiqueta <br /> tendrá el efecto deseado.

+0

Puede explicar lo que es un 'ur_string' es, y qué diferencia habría que las unidades? –

+0

@Martinho Fernandes 'ur_string' solo una variable. diferencia en "unidades" quiero decir diferente tamaño de letra dará diferente longitud de texto. entonces la "unidad" está hasta OP. –

3

En el caso de uso de literal es mejor ya que escribe HTML en literal de su código como este:

Literal1.Text = "Hello<br/>"+"How are you?".... 

O cuadro de texto se puede utilizar como conjunto de propiedades TextMode = Multilínea y de sólo lectura = True se comporten como etiqueta

1

Se podía probar este

Label.AutoSize = false 
Cuestiones relacionadas