ネタ元→Shizuku Blog ~.NET Study版~:ASP.NET : Master & Theme の動的切り替え
いや~。けろさんのエントリはとても勉強になりますねぇ。って、
呼び出しくらってはるやないどすか!!?
できれば、とりこびとさんのサイトでは、どのように実装しているのか、ちょっとでいいから、ソースが見てみたいw です。
おぅおぅ!ねぇちゃん!ただでとはいわねぇよなァ?ん~?
嘘です。ごめんなさい。反省のしるしに頭を丸め・・・ません!それだけはご勘弁を。っていうか、
こないだ ASP.NET はじめた人間が巧みなテクニックで実装してるはずがありません!!(きっぱり
と、いつもどおりとりこびとの中の人達による前説もさくっとが終わったということで、本題。
私のまだまだよちよち歩きなサイト「Memo(Of T)」で、サイトの幾つかの部分の色を変更できるようにしています。
こんな感じ→
これはけろさんのエントリで書かれているテーマの動的な変更というのを忠実に書いているだけです。けろさんのテーマの動的な変更とマスターページの動的な変更も含めて書かれておられますが、私のサイトの場合にはマスターページの動的な変更は現状必要なかったので実装はありません。
で、実装方法です。けろさんも書かれているのとかぶりったりしてますが、いろいろ調べてみて、たどり着いたのは
- テーマはPageのPreInitより前で確定されてなければならない。
これです。な~んだ!簡単じゃん♪(←ここで油断した。
テーマの変更を PreInit で・・・か。ふ~ん、ってか、これってマスターページに書いとけばいいんぢゃね?って・・・
MasterPage に PreInit がおらん!!orz
というわけ(?)で、テーマを変更するためだけの BasePage を作成、OnPreInit にチマチマ。んでもって、各コンテンツ ページはBasePageを継承する、と。orz
で、テーマの保持はCookie で行っています。テーマが選択されたら、Cookieに・・・ぽいっ!で、Response.Redirect。というわけで、
けろさんの書かれていることとほぼ同じ!!
だったというただの日記ですが、何か?