2016-10-04 57 views
0

我有一個多行文本框。用戶將在該文本框中提供簡要的詳細信息。如何使用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

回答

4

當你的文字內容形成<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'自動轉換不安全的字符,所以它會在輸出中將'<'變成'<'。 –

0

我認爲你的問題不是從SQL服務器保存/檢索數據,而是從瀏覽器到服務器。你能否確保你發送所有這些換行符的文本?使用小提琴手或瀏覽器控制檯來檢查您實際發送的內容。

相關問題