用户输入文本保存到sql server

时间:2012-02-21 13:15:08

标签: asp.net html

我们有一个文本框,我们允许每行100个字符并保存到DB。这里我们的问题是,如果用户写入50个字符,按回车键插入一个换行符,然后重复此过程,然后用40行,然后是每行等20个字符,它就像单行一样保存。

例如:用户输入以下


集成系统测试环境
也是第一个环境
测试人员可以模拟真实攻击
可能被执行的场景
由应用程序的恶意,外部或内部用户

但是当保存到我们的数据库中时,它会像下面一样保存。

集成系统测试环境也是测试人员可以模拟真实攻击情形的第一个环境,可能由应用程序的恶意,外部或内部用户执行。

我们默认禁用所有html标签,只需添加自动“br”即可显示用户给出的文字。

1 个答案:

答案 0 :(得分:1)

首先:从文本框中获取的文本可能包含换行符,它们将存储在SQL Server中,但您不会在Management Studio中看到它。它似乎是一行,即使它不是。

我怀疑你遇到的问题是从数据库中读取文本并在网站上显示它不会使用任何换行符 - 这是因为HTML中没有使用换行符来断行。 <br />标记用于打破HTML中的行。所以你需要做的是:

  1. 从数据库中读取文字
  2. \r\n替换为<br />