「新館」ネタです。「カメラの部屋」は、だいぶ長い間中途半端に放ってあったのですが、「写真館」にも使用したアルバム機能が整ってきましたので、ここも整備してみることにしました。
右の写真の上を見るとわかるのですが、4つのボタンが並んでいます。「サマリー」は現在出ている内容で、外見写真やメーカー、発売年月、Webサイトへのリンクが出てきます。「ノート」は、私のぐだぐだとした感想がときには写真混じりで現れます。「Flickr」には、写真サイトFlickrに投稿した、そのカメラ・レンズで撮影した写真が一部現れます。「アルバム」は、同じく写真をデータベース化したものです。
あとの二つでは、実際に機器を使って撮影した写真を見ることができますので、腕の善し悪しはともかく、そのカメラ・レンズに興味のある人には参考になると思われます。
基本はこんな形でできましたので、あとは細かな点を整備していきたいですね。
これだけでは何なので、多少テクニカルな話をしておきます。ASP.NETについてよく知らない人はまったく詰まらない話なので、以降はスルーして下さいませ。
4つの内容の切り替えにはMultiViewを使っています。ボタンが押された際に、MultiView内の4つのViewを切り替えているのですが、何も考えずにポストバックしているために、ボタンを押すたびに画面全体がロードされ再表示されます。
これだと非常に具合が悪いので、UpdatePanelを使った非同期通信にて、右側のペインだけを書き換えるようにしてみました。
ところが、FlickrのViewだけが表示されません。正確には、Flickrから返される写真のサムネールだけが表示されません。実は、非同期通信で生成されるJavaScriptコードは実行されないという制約があるために、JavaScriptコードにて動的に表示されるはずのサムネールは表示されないのです。
これについての解決法はいくつかあるようなのですが、今の私には荷が重いため、とりあえずUpdatePanelを使わない、つまり単純なポスバックバージョンのままにしてあります。
いつか解決してやりましょう!
コメント