2009-12-22 25 views
0

我使用ASP.NET 2.0與SQL Server 2005值不在數據庫中

我的頁面正確保存有一個文本框,其中的TextMode =「多行」 ......見下文

alt text http://www.erateusa.com/Textbox.bmp

現在,當我保存這個文本在我當然數據庫它不與任何HTML標記保存它,因此當我從數據庫中讀取該值是回來爲1號線,如....

Hello字,它需要看起來像這樣。謝謝!

但是我希望它像使用者輸入那樣顯示。是否沒有開箱即用的控件能夠爲我做到這一點,而不是使用Ajax或jQuery?

在此先感謝!

+0

如何顯示您閱讀的內容?如果以HTML格式輸出它,換行符不會被渲染,它只是一個空格。 – 2009-12-22 06:48:36

+0

我所做的是我從數據庫中取值,並將其設置爲:lblValue = ValueFromDatabase – Etienne 2009-12-22 06:51:03

+0

如果數據爲html,則存儲html而不是「數據」。 – jim 2009-12-22 07:16:16

回答

3

那樣?

myString.Replace("\n", "<br />"); 
+1

問題出現在顯示標籤中的數據而不是文本框中。文本框以「純文本」顯示文本,標籤(以跨度顯示)以HTML格式顯示。純文本使用Char(13)進行回車,其中HTML使用字符序列「
」。 他們不是在說同一種「語言」。艾哈邁德的解決方案是他們之間翻譯的一種方式。 – eidylon 2009-12-22 07:43:16

1

從您的評論到我的問題,問題不在於數據庫沒有正確存儲您的數據。而是你以不反映數據真實表示的方式顯示它。

正如我在你的文章中評論的那樣,「如果你將它輸出爲HTML,換行符不會被渲染,它只是一個空格。」

艾哈邁德已經回答了將以HTML格式呈現您的換行符的方法之一。

如果您將檢索值分配到文本區域或多行文本框中,則將顯示換行符而不操作字符串。

+0

如何或在哪裏爲ASP.NET文本框分配檢索值? – Etienne 2009-12-22 08:04:01

+0

'textboxMultiline.Text = ValueFromDatabase' – 2009-12-22 09:07:15

+0

MMMM,我不能寫這個標籤?因爲我不想在文本框中顯示它。 – Etienne 2009-12-22 11:09:58

1

您應該將CRLF字符存儲在數據庫中,因爲這些是您的數據的一部分,並且在顯示時將它們替換爲BR標記,因爲它是HTML /演示文稿問題。

這同樣適用於多個空間和其他數據。例如,您是否期望在文本框中使用括號?