2008年10月16日

ASP.NET 取得したデータ内に改行があっても、ラベルに表示したときにはスペースになってしまう。

 ASP.NETでページ上にLabelコントロールを配置し、そこに取得したデータなどを表示させたりします。

 Labelコントロールは表示させるだけですので、特にユーザーに入力処理をさせずに表示するのみの場合には便利です。

 以下のように記述させるだけで、表示することが可能です。

 Label1.Text = "サンプル"

 しかし、以下の場合はどのように表示されるのでしょう。

 Label1.Text = "a" & vbNewline & "b" & vbNewline & "c"

 この場合は、次のように表示されるはずです。

「a b c」

 改行を確かに入れているのに、表示されるのはスペース。

 どうして?。。。。。。

>>>


>>>
 ASP.NETは、Webサーバ側でHTMLに変換して出力しているため、改行は、HTMLでは<br>でないと表現できません。
 つまり、改行の部分を<br>に置き換える必要があります。

 データベースに登録されているデータでも同じです。

 データベースから取得したデータ内にある改行は、Labelコントロールに表示しても、改行してくれません。

 では、どのようにしましょう。

 改行を<br>に置き換えて表示させればいいのですから、以下のようにすれば、きちんと改行してくれます。

 String.Replace(vbCrLf, "<br>")


 データ入力時に、改行を<br>に置き換えておくという方法もあるかと思いますが、データの入力時にはそのまま改行をさせて、データを表示するときにだけ<br>に置き換える方がスマートかと思います。



posted by Debring at 19:47 | Comment(0) | TrackBack(0) | ASP.NET ラベル
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:


この記事へのトラックバック
×

この広告は180日以上新しい記事の投稿がないブログに表示されております。