ASP.Net Текст с LineBreak из Multi-Line-TextBox для сохранения в базе данных - PullRequest
11 голосов
/ 03 февраля 2011

У меня есть PrivateMessage-System на моей новой странице сообщества.

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

Если в моем многострочном текстовом поле есть 5 разрывов строк с клавишей «Enter», разрывы строк исчезают в метке.

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

Ответы [ 3 ]

23 голосов
/ 03 февраля 2011

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

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

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

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

someDatabaseField = TextBox1.Text.Replace("\r\n", "<br />");
3 голосов
/ 16 декабря 2016

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

пробел: предварительная переноска;

2 голосов
/ 20 июня 2013

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

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