带有来自多行文本框的换行符的 ASP.Net 文本保存在数据库中
我的新社区页面中有私人消息系统。
我有一个用于私人消息文本的多行文本框。 我将此文本保存在一个字符串中,该字符串保存在 ntext SQL-Coloumn 中。 我从 ntext SQL-Coloum 中以字符串形式读取此文本,并将其显示在标签中。
当我在多行文本框中使用“Enter”键有 5 个换行符时,换行符将在标签中消失。
我不知道他们迷路在哪里,也不知道我做错了什么。 有什么想法吗?
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?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
首先,它实际上是将换行符保存到您的表中吗?如果是这样,它将它们保存为什么,例如 \r\n 或 CRLF 或什么?
您的标签输出 html,因此唯一会创建中断的是
标记。因此,您需要查找并替换数据库中保存的任何内容:或者更好的是,在将其保存到数据库之前执行 .Replace() :
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:Or even better, do the .Replace() before you save it to the database:
你可以用 CSS 来解决这个问题。将此 CSS 分配给您的标签:
white-space: pre-wrap;
You can solve this with CSS. Assign this CSS to your label:
white-space: pre-wrap;
这也有效:
this also works: