ASP.Net Text with LineBreak from Multi-Line-TextBo

2019-01-09 12:45发布

问题:

I have PrivateMessage-System in my new Community-Page.

I have a Multiline-Textbox for the Text of a private message. I save this text in a string, this string in a ntext SQL-Coloumn. I read this text from the ntext SQL-Coloum in a string and show it in a label.

When I have 5 linebreaks with the "Enter"-Key in my Multi-line-textbox, the linebreaks will disappeared in the label.

I don't know where they gone lost and what I am doing wrong. any idea?

回答1:

First of all is it actually saving the line breaks to your table? If so, what does it save them as, eg \r\n or CRLF or what?

Your label outputs html, so the only thing that will create a break is a <br /> tag. So you need to find and replace whatever is saved in the database:

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

Or even better, do the .Replace() before you save it to the database:

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


回答2:

this also works:

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


回答3:

You can solve this with CSS. Assign this CSS to your label:

white-space: pre-wrap;