[新館]に新着情報を付けてみる

「新館」の方にもいろいろ手を入れているのだが、何を思い立ってか「新着情報」のようなものを付けてみようと考えた。新着情報など付けるほど更新もしていないような気がするのだが、目的の半分はプログラミングにあるのだから、これでいいのだ。

新着情報は、データベースに収録することにした。Historyというテーブルを作成し、番号、日付(datetime型)、タイトル、説明、URLなどをフィールドとして持たせる。トップページにはHistoryテーブルを読み出すためのデータコントロールを配置し、GridViewコントロールでそれをバインドし、表示させるだけという簡単なものだ。

だがしかし、ひとつ困ったことが起きた。GridViewコントロールで日付を表示させるときに、以下のようなフォーマット(DataFormatStringプロパティ)を用いればいいのだが、ローカルのASP.NET開発サーバでは期待どおりに動作するのだが、外部の公開サーバではうまくいかないのだ。

{0: [yyyy/MM/dd]} → [2008/09/08]

この書式だと、日付のみでいいはずだが、実際には時刻まで出てしまう。どうやら、書式が無視されているようだ。なぜこのようなことになるのかはわからないが、調べてみたら、こんな記事を見つけた。

リンク: tk-engineering.com Technical blog | GridView で DataFormatString が反映されない理由

これによれば、HTMLEncodeプロパティをfalseにする必要があるらしい(デフォルトはtrue)。実際にやってみたら、騙されたようにうまくいく。やれやれ、危うくはまりそうになったが、すでにはまった先人のおかげで助かったようなものだ。

コメント