如何使用ASP.NET和C#在SQL Server中保持换行符?

问题描述:

我有一个多行文本框。用户将在该文本框中提供简要的详细信息。如何使用ASP.NET和C#在SQL Server中保持换行符?

像这样:我救了这个在SQL Server中,再次检索

user entering data in multiline textbox

后,它显示像下面的截图:

without line break

我能做些什么来保持断行?在将数据保存到SQL Server之前,我需要加密一些东西吗?

谢谢。

这是我的代码:

<div id="Description_id" runat="server"> 
</div> 

C#代码:

string description = rd["job_description"].ToString(); 
Description_id.InnerText = description.Replace("\r\n", "<br/>"); 
+1

您不显示如何检索/查看它。在你问你是否应该这样做之前,你应该先查看一下加密的含义,因为这里根本不适用。 – mason

当你的文字内容形成<textarea><input>换行符存储为换行符 - 针对Unix基本上\n用于Windows的\r\n

您需要将这些换行符转换为<br />标签,以便它们在输入中正确显示并保留换行符。作为一个例子,你可以这样做:

var outputHtml = textFromDb.Replace("\r\n", "<br />").Replace("\n", "<br />"); 

这将确保替换将适用于Unix和Windows换行符。因为Unix格式是它的子字符串,所以Windows格式替换首先来了。

或者,您也可以将数据库中的文本包装到<pre>中,该文件将保留空白字符(包括换行符)。

+0

'string description = rd [“job_description”]。ToString()。Replace(“\ r \ n”,“
”); Description_id.InnerText = description;'输出仍然是一样的。 **输出**'这是一个美丽的世界,

同时它不容易生存。我们应该努力工作,同时要生存并不容易。我们应该努力工作。






同时它不容易生存。# – Faisal

+0

请现在检查我的代码。我编辑了我的问题 – Faisal

+0

您需要设置'Description_id'' div'元素的'InnerHtml'属性。 'InnerText'自动转换不安全的字符,所以它会在输出中将'

我认为你的问题不是从SQL服务器保存/检索数据,而是从浏览器到服务器。你能否确保你发送所有这些换行符的文本?使用小提琴手或浏览器控制台来检查您实际发送的内容。