2011-02-03 11 views
9

Ho PrivateMessage-System nella mia nuova Community-Page.ASP.Net Testo con LineBreak da Multi-Line-TextBox per il salvataggio in un database

Ho una casella di testo multilinea per il testo di un messaggio privato. Ho salvato questo testo in una stringa, questa stringa in un nolo SQL-Coloumn. Ho letto questo testo dal ntext SQL-Coloum in una stringa e lo mostro in un'etichetta.

Quando ho 5 interruzioni di riga con il tasto "Invio" nella mia casella di testo su più righe, le interruzioni di riga scompariranno nell'etichetta.

Non so dove sono andati persi e cosa sto facendo male. qualche idea?

risposta

21

Prima di tutto è in realtà il salvataggio delle interruzioni di riga sul tuo tavolo? In tal caso, cosa li salva come, ad esempio \ r \ n o CRLF o cosa?

L'etichetta emette html, quindi l'unica cosa che creerà un'interruzione è un tag <br />. Quindi è necessario trovare e sostituire ciò che è salvato nel database:

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

O, meglio ancora, fare il .Rimontare() prima di salvare nel database:

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

Grazie, non ho visto l'albero in una foresta ... – Kovu

+0

Grazie mille questo mi ha aiutato molto :) –

+0

Non so perché, ma nel mio caso funziona solo il seguente codice: Label1.Text = someDatabaseText.Replace ("\ n", "
"); –

2

questo funziona anche:

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

È possibile risolvere questo con CSS. Assegna questo CSS alla tua etichetta:

white-space: pre-wrap;

Problemi correlati