2011-02-03 7 views
9

私は新しいコミュニティページにPrivateMessage-Systemを持っています。ASP.Net Multi-Line-TextBoxからLineBreakでデータベースに保存するテキスト

私はプライベートメッセージのテキスト用のマルチラインテキストボックスを持っています。 このテキストを文字列に保存します。この文字列は、ntext SQL-Coloumnに保存されます。 このテキストをntext SQL-Coloumから文字列で読み取り、ラベルに表示します。

マルチラインテキストボックスに「Enter」キーを5行付けると、改行はラベルに表示されなくなります。

どこが迷子になっているのか、私が間違っているのか分かりません。

答えて

21

まず、実際にテーブルに改行を保存していますか?もしそうなら、\ r \ nやCRLFのように、それをどう保存するのでしょうか?

あなたのラベルはhtmlを出力するので、ブレークを作成するのは<br />タグだけです。これはまた、作品

someDatabaseField = TextBox1.Text.Replace("\r\n", "<br />"); 
+1

ありがとう、私は森の中の木を見なかった... – Kovu

+0

これは私にもあまりにも多くの助けを借りてくれた:) –

+0

私のケースでは、唯一の次のコードが動作しない理由を知りません: Label1.Text = someDatabaseText.Replace( "\ n"、 "
"); –

2

:あなたはそれをデータベースに保存する前に)(.Replaceを行い、

Label1.Text = someDatabaseText.Replace("\r\n", "<br />"); 

あるいはさらに良い:だからあなたが見つけると、データベースに保存されているものは何でも交換する必要があります。

lbl_PostContent.Text = lbl_PostContent.Text.Replace(vbCrLf, "<br />") 
0

これはCSSで解決できます。このCSSをラベルに割り当てます:

空白:プレラップ;