2011-02-03 3 views
9

У меня есть PrivateMessage-System на моей новой странице сообщества.ASP.Net Текст с LineBreak из Multi-Line-TextBox для сохранения в базе данных

У меня есть многострочный текстовый текст для текста частного сообщения. Я сохраняю этот текст в строке, этой строке в ntext SQL-Coloumn. Я прочитал этот текст из ntext SQL-Coloum в строке и покажу его в ярлыке.

Когда у меня есть 5 строк с «Enter» -Key в моем многострочном текстовом поле, разрывы строк исчезнут на ярлыке.

Я не знаю, где они потерялись и что я делаю неправильно. любая идея?

ответ

21

Прежде всего, это на самом деле сохранение разрыва строки на вашем столе? Если да, то что он сохраняет их как, например, \ r \ n или CRLF или что?

Ваша метка выводит html, поэтому единственное, что создаст перерыв, это тег <br />. Так что вам нужно найти и заменить все, что хранится в базе данных:

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

Или еще лучше, сделать .Привернуть(), прежде чем сохранить его в базу данных:

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

Спасибо, я не видел дерево в лесу ... – Kovu

+0

Спасибо, это помогло мне слишком много :) –

+0

Не знаю почему, но в моем случае работает только следующий код: Label1.Text = someDatabaseText.Replace ("\ n", "
"); –

2

это также работает:

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

Вы можете решить эту проблему с помощью CSS. Присвойте этот CSS вашей метке:

white-space: pre-wrap;