TextArea 从数据库中保存/检索

Posted

技术标签:

【中文标题】TextArea 从数据库中保存/检索【英文标题】:TextArea Save/Retrieve from the Database 【发布时间】:2015-02-06 04:41:04 【问题描述】:

我正在尝试将 TextArea 中的数据保存到我的数据库中的列中。

然后将我从数据库中保存的数据检索到标签或 div 中。

html 中使用这个来保存:

<textarea runat="server"  id="TextArea1" cols="100" rows="10" ></textarea>

在c#中使用这个来保存:

cmd2.Parameters.AddWithValue("@s_qualification", TextArea1.InnerText);

保存没有问题。

但是当我从数据库中检索数据时,数据没有任何换行符。

test2.InnerText = myReader3["s_qualification"].ToString();

编辑:当我在文本区域中显示数据时,它显示正常,但不是我想要的方式。文本需要像标签一样显示为个人资料页面的描述

ps:使用visual studio 2010,c#

抱歉,一切都已解决:

test2.InnerHtml = myReader3["s_qualification"].ToString().Replace(Environment.NewLine, "<br />");

【问题讨论】:

【参考方案1】:

我在文本框中输入了以下文本:

这是对换行符的测试,以查看文本区域是否实际上包含换行符 \n 或者 is 只是发生的一个神奇的换行 \n 并且需要手动完成。

其中 \n 显示我按下 Enter 键的位置。

var myText = TextArea1.Text;
string newText = myText.Replace("\r\n", "<br/>");

newText 中的结果:

这是对换行符的测试,以查看文本区域是否实际上包含换行符或者只是发生的魔术换行并且需要手动完成。

所以,

test2.InnerText = myReader3["s_qualification"].ToString().Replace("\r\n", "<br/>");

应该这样做。

【讨论】:

是的,非常感谢!【参考方案2】:

您可能无法在可视化时检测到换行符

test2.InnerText = myReader3["s_qualification"].ToString();

相反,您应该尝试在

上进行可视化
<textarea>your text</textarea>

注意:Jon \n\r Skeet 将在 Visual Studio 监视窗口上显示为一行,但在 textarea 上显示为两行

【讨论】:

感谢您的快速回复。当我将数据检索到文本区域时,它的工作原理。但是文本在文本区域内时是可编辑的,这是我不想要的。我只需要文本是可见的。 是的,它不可编辑,但我试图抢夺文本并将其显示在个人资料页面之类的东西上,所以这并不真正符合其余的流程......有没有还有其他方法吗? 您可以提出一个新问题并提供进一步的解释。 非常感谢您的帮助...我刚刚想通了...test2.InnerHtml = myReader3["s_qualification"].ToString().Replace(Environment.NewLine, "&lt;br /&gt;");这可以满足我的一切需求..【参考方案3】:

更好的方法(如果您在标签中显示文本)是这样的:将此 CSS 分配给您的标签:

label
white-space: pre-wrap;

来源: www.w3schools.com/cs-s-ref/pr_text_white-space.asp

【讨论】:

以上是关于TextArea 从数据库中保存/检索的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 POST 检索 <textarea> 值并保存到文件中?

将数据从 textarea 保存到数据库

将格式化文本从 textarea 保存到数据库

如何从 textarea 的值中保存 .txt 文件?

PHP使用换行符从textarea保存内容

从 textarea flex3 中保存空格和换行符