- - PR -
GridView上での空の文字列("")表示について
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2007-09-13 21:14
こんにちは。
いつもお世話になっております。 GridView上に空の文字列("")をセットした際、文字列が自動で置き換わってしまい困っています。
上記のコードを実行すると、「Col2Str」に" "がセットされます。 半角スペースが" "に置き換わるなら理解できるのですが、なぜ""が置き換わるのでしょうか? どうかご教示下さい。 | ||||||||
|
投稿日時: 2007-09-14 09:23
ホントのところはわかりませんが・・・
GridViewがhtmlになった場合テーブルになりますよね。 そのとき半角スペースではなく""だった場合、セルの枠線が表示されなくなるため変換をしているのではないでしょうか?
これをブラウザで見ると、1行目1列目の枠線が表示されず意図したイメージにならなくなるからのような気がします。 # 調べもせず100%憶測で書いているので、本当の理由がドキュメントに # 載っているかもしれませんが・・・ | ||||||||
|
投稿日時: 2007-09-14 19:27
Katzeさん、レスありがとうございます。
サンプルコード、試させていただきました。 確かに空の文字列だとセルの枠線が表示されませんね。 ただ、半角スペースでも同様に枠線が表示されません。 であれば半角スペースも" "に置き換わってもよさそうな気がするのですが・・・。 | ||||||||
|
投稿日時: 2007-09-15 08:04
半角スペースと は正確には別のものとして扱われるからです。 この場合、スペースはトークンというか、語句と語句を切り分けるための記号でしかありません。 は明確に「ここにスペースを出せ」という意味なので、扱われ方が違うのでしょう。 <td> </td> <td> </td> これはそれぞれ <td></td> <td> </td> こういった形で解釈されるのだと思われます。 HTML 的にもそれが正しい動作なんじゃないでしょうか。 _________________ ぽぴ王子@わんくま同盟 ぽぴ王子の人生プログラミング中 / ぽぴンち。 | ||||||||
|
投稿日時: 2007-09-15 11:26
蛇足かもしれませんが、" "になってしまった出力を再度取得してこれを除去(?)するなら、HttpServerUtility.HtmlDecodeメソッドを利用すれば、なんとかなると思います。(と言うか、バンド後のGridView等から値を取得する際には、HtmlDecodeをするのが楽ですので、空文字列に限らないと思いますが。)
ただし、" "はHtmlDecodeすると空白(" ")に置き換わってしまうと思いますので、元々" "だったのか""だったのかの判別は、できなくなります。 この違いを正確に扱いたい場合は、別の手法を考える必要があると思います。 | ||||||||
|
投稿日時: 2007-09-20 20:10
>ぽぴ王子さん
レスありがとうございます。(返事が遅くなりすみません。)
なるほど。 確かにおっしゃられる通りですね。 納得できました。 空の文字列("")が置き換わるのはそういう仕様なんでしょうね。 どうもありがとうございました。 >kiyokuraさん レスありがとうございます。(返事が遅くなりすみません。)
そうですね。確かに判別できませんね。 別の方法を考えたいと思います。 どうもありがとうございました。 | ||||||||
|
投稿日時: 2007-09-20 22:39
一応、元のデータが空文字であることは確認できますよ。 |
1