.NET TIPS [ASP.NET]AdRotatorコントロールで任意の付加情報を表示するには?山田 祥寛2005/08/05 |
![]() |
|
「TIPS:[ASP.NET]AdRotatorコントロールでクリック率を管理するには?」でも紹介したように、AdRotatorコントロールを利用することで、あらかじめ設定した割合に従って広告バナーを切り替えて表示することができる。
AdRotatorコントロールは、レガシーASP(ASP 3.0)の時代にはAd Rotatorコンポーネントとして提供されていた、歴史のあるコンポーネントである。ASP.NETになっても、その基本機能に変更はないが、唯一大きな変更点といえば、広告スケジュール・ファイルがプレーン・テキスト形式からXML(eXtensible Markup Language)形式に変更された点が挙げられるだろう。この変更に伴い、ASP.NETの広告スケジュール・ファイルでは、あらかじめ決められた設定項目のほかに、開発者自身が独自の情報を追加したりして拡張できるようになった。
本稿では、この拡張機能を利用して、広告スケジュール・ファイルにカスタム要素として<Memo>要素を追加し、これを使って広告バナーの下部にキャッチフレーズを表示してみることにしよう。以下は、今回作成するサンプル・プログラムの実行画面だ。
![]() |
本サンプルの実行画面 |
設定ファイルの内容に従って、リンク付きの広告バナーと、それに付随するキャッチフレーズ(この例では「マスターページ、セキュリティ・コントロールなど、ASP.NET 2.0の魅力溢れる世界を」というメッセージ)を切り替え表示する。 |
それではさっそく、具体的な手順を見ていくことにしよう。
1.広告スケジュール・ファイルを設定する
前述したように、AdRotatorコントロールの挙動は「広告スケジュール・ファイル」によって制御できる。広告スケジュール・ファイルの基本的な書式については、前掲のTIPSを参照していただくとして、ここでは、独自に追加した<Memo>要素に注目してほしい(以下のサンプル・コード参照)。
このように、カスタムの拡張要素(本稿の例では、<Memo>要素)はそれぞれの<Ad>要素配下の子要素群の末尾に自由に追加することが可能だ。本稿では、<Memo>要素のみを追加しているが、もちろん、必要に応じて、複数のカスタム要素を追加することも可能だ。
|
|
広告バナーの情報を管理する広告スケジュールXMLファイル(ad.config) |
2.カスタム要素を広告バナーの下部に表示する
次に、Webフォームであるad_plus_cs.aspx(C#の場合。VB.NETではad_plus_vb.aspx)で広告スケジュール・ファイル(本稿の例ではad.config)をAdRotatorコントロールに関連付けよう。また、1で拡張した<Memo>要素の内容を読み込むのも、このWebフォームの役割だ。以下にそのコードを示す。
|
|
カスタム情報を広告バナーに付随するためのWebフォーム(C#版:ad_plus_cs.aspx) |
|
|
カスタム情報を広告バナーに付随するためのWebフォーム(VB.NET版:ad_plus_vb.aspx) |
AdCreatedイベントは、AdRotatorコントロールが広告スケジュール・ファイルに基づいてバナー画像を選択表示する際に発生するイベントだ。ここでは、このAdRotatorイベントを利用して、選択された広告バナーに付随する<Memo>要素の値を取得しているというわけだ。
カスタム要素の値には、AdCreatedイベント・ハンドラのパラメータに渡されるAdCreatedEventArgsオブジェクト(System.Web.UI.WebControls名前空間)のAdPropertiesプロパティを介してアクセスが可能だ。AdPropertiesプロパティでは、カスタム要素の情報を、要素名をキー名、本体テキストを値として持つIDictionaryインターフェイス(System.Collections名前空間)を実装したオブジェクトとして保持しており、要素名で簡単に値にアクセスできる。
以上で一連の準備は完了だ。ad_plus_cs.aspx(C#の場合。VB.NETではad_plus_vb.aspx)を実行し、広告バナーの下部に付随するキャッチフレーズが表示されていることを確認してみよう。本稿冒頭のような結果が得られれば成功だ。
カテゴリ:Webフォーム 処理対象:AdRotatorコントロール 使用ライブラリ:AdRotatorコントロール 使用ライブラリ:IDictionaryインターフェイス(System.Collections名前空間) 使用ライブラリ:AdCreatedEventArgsクラス(System.Web.UI.WebControls名前空間) 関連TIPS:[ASP.NET]AdRotatorコントロールでクリック率を管理するには? |
![]() |
「.NET TIPS」 |
- 第2回 簡潔なコーディングのために (2017/7/26)
ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている - 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう - 第1回 明瞭なコーディングのために (2017/7/19)
C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える - Presentation Translator (2017/7/18)
Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
![]() |
|
|
|
![]() |