2011-02-03 14 views
9

Tengo PrivateMessage-System en mi nueva Community-Page.ASP.Net Texto con LineBreak desde Multi-Line-TextBox para guardar en una base de datos

Tengo un cuadro de texto Multiline para el texto de un mensaje privado. Guardo este texto en una cadena, esta cadena en un ntext SQL-Coloumn. Leo este texto de ntext SQL-Coloum en una cadena y lo muestro en una etiqueta.

Cuando tengo 5 saltos de línea con la tecla "Enter" en mi cuadro de texto multilínea, los saltos de línea desaparecerán en la etiqueta.

No sé dónde se perdieron y qué estoy haciendo mal. alguna idea?

Respuesta

21

En primer lugar, ¿está realmente guardando los saltos de línea en su mesa? Si es así, ¿qué los salva como, por ejemplo, \ r \ n o CRLF o qué?

Su etiqueta muestra html, por lo que lo único que creará un corte es una etiqueta <br />. Así que hay que buscar y reemplazar todo lo que se guarda en la base de datos:

Label1.Text = someDatabaseText.Replace("\r\n", "<br />"); 

O mejor aún, haga lo .Colocar() antes de guardarlo en la base de datos:

someDatabaseField = TextBox1.Text.Replace("\r\n", "<br />"); 
+1

Gracias, no vi el árbol en un bosque ... – Kovu

+0

Gracias, esto me ayudó demasiado :) –

+0

No sé por qué, pero en mi caso el único código funciona: Label1.Text = someDatabaseText.Replace ("\ n", "
"); –

2

esto también funciona:

lbl_PostContent.Text = lbl_PostContent.Text.Replace(vbCrLf, "<br />") 
0

Puede resolver esto con CSS. Asigne este CSS a su etiqueta:

white-space: pre-wrap;

Cuestiones relacionadas