.NET TIPS [ASP.NET]AdRotatorコントロールでデータベースから広告情報を取得するには?[2.0のみ、C#、VB]山田 祥寛2006/08/04 |
![]() |
|
「TIPS:[ASP.NET]AdRotatorコントロールでクリック率を管理するには?」でも紹介したように、AdRotatorコントロールを利用することで、XML形式で記述した広告スケジュール・ファイルに基づいて、バナー広告を切り替え表示することができる。
しかし、ある程度大規模なサイトになれば、入れ替わりの激しいバナー情報を独自のXMLファイルで管理するよりも、データベース上でそのほかのコンテンツ情報と合わせて一元的に管理する方が便利なことが多い。
そこで本稿では、AdRotatorコントロールとSqlDataSourceコントロールを利用して、データベース上で管理されたバナー情報から広告バナーを制御する方法について紹介する(SqlDataSourceコントロールは.NET Framework 2.0で新たに追加されたコントロールだ)。
![]() |
本稿で作成したサンプル・プログラムの実行結果(例) |
なお、本稿のサンプル・プログラムを利用するには、データベース上に以下のようなAdConfigテーブルを作成しておく必要がある。
フィールド名 | データ型 | 概要 |
Url | VARCHAR(255) | バナーのリンク先 |
AltText | VARCHAR(100) | バナー画像の代替テキスト |
BannerImage | VARCHAR(255) | バナー画像のURL |
Keyword* | VARCHAR(20) | キーワード |
Impressions* | INT | 表示確率(重み付け) |
Width* | INT | バナー画像の幅 |
Height* | INT | バナー画像の高さ |
AdText | VARCHAR(50) | 広告テキスト |
![]() |
||
AdConfigテーブルのフィールド・レイアウト |
テーブル名、および、テーブル内のフィールド名には任意の名前を指定できる。ただし、「*」がついている項目の名前については固定であるので注意すること。
また、AdCoinfigテーブルにはサンプル・データとして、以下の表のようなバナー情報をあらかじめセットしておくものとする。
Url | AltText | BannerImage | Keyword | Impressions | Width | Height | AdText |
http://www.web-deli.com/ | WebDeli | http://www.web-deli.com/image/linkbanner_s.gif | ASP.NET | 50 | 80 | 30 | ASP.NET、フリースクリプトをダウンロードできるよ! |
http://www.wings.msn.to/index.php/-/A-03/4-7981-1070-1/ | XMLデータベース入門 NeoCore/XprioriでXMLDBを極める! | http://www.wings.msn.to/books/4-7981-1070-1/4-7981-1070-1_logo.jpg | データベース | 30 | 80 | 30 | 「XMLデータベースって何?」と思ったらこの1冊! |
http://www.wings.msn.to/index.php/-/A-03/4-88337-491-2/ | 書き込み式 SQLのドリル | http://www.wings.msn.to/books/4-88337-491-2/4-88337-491-2_logo.jpg | データベース | 20 | 80 | 30 | ドンドン身につく、スラスラ書ける |
![]() |
|||||||
AdConfigテーブルにセットするデータ(例) |
それではさっそく、具体的な構築の手順をVisual Studio 2005(以降、VS 2005)環境を前提に見ていくことにしよう。
1. Webフォームをデザインする
フォーム・デザイナ上には、以下の画面の要領でサーバ・コントロールを配置する。また、それぞれのコントロールに対しては、表の内容でプロパティ値を設定しておこう。
![]() |
||||||
Webフォーム(C#:AdRotator_cs.aspx/VB:AdRotator_vb.aspx)のレイアウト | ||||||
フォーム・デザイナ上に、サーバ・コントロールを配置する。 | ||||||
|
2. データソースの内容を定義する
次に、AdRotatorコントロールに関連付けるデータソースを定義する。データソースを定義するには、AdRotatorコントロールの右上から[AdRotatorタスク]メニューを表示して[データソースの選択]から「<新しいデータソース>」を選択することで行える。
![]() |
[データソース構成ウィザード]ダイアログ |
AdRotatorコントロールの右上から[AdRotatorタスク]メニューを表示して[データソースの選択]から「<新しいデータソース>」を選択することで、このダイアログが表示される。 |
上図のような[データソース構成ウィザード]ダイアログが起動するので、以下の画面の要領でデータソースの取得に必要な情報を設定する。
![]() |
![]() |
![]() |
![]() |
![]() |
[データソース構成ウィザード]ダイアログにおける設定内容 |
データソースの取得に必要な情報を画面の内容に従って設定する。 |
データソース構成ウィザードの設定手順については、別稿「無償データベース SQL Server 2005 Express Editionを使ってみよう」が詳しいので、こちらをご参照いただきたい。
3. AdRotatorコントロールのプロパティ情報を設定する
データベースから取得した内容をAdRotatorコントロールにバインドするには、コントロールが必要とするフィールドにテーブル上のフィールドをマッピングする必要がある。AdRotatorコントロールにフィールドをマッピングするのは、XxxxxFieldプロパティ(以下の表のAlternateTextField、ImageUrlField、NavigateUrlFieldなどのプロパティ)の役割だ。
プロパティ | 値 |
AlternateTextField | AltText |
ImageUrlField | BannerImage |
NavigateUrlField | Url |
![]() |
|
AdRotatorコントロールのプロパティ情報 |
ちなみに、これらXxxxxFieldプロパティのデフォルト値は、それぞれAlternateText、ImageUrl、NavigateUrlとなっている。データベース上のフィールド名がデフォルトの名前に従っている場合には、これらプロパティの設定は不要だ。
以上で、データベースにあるバナー情報を基に広告バナーを表示するための設定は完了だ。続いては広告バナーの下に拡張情報として広告テキストを表示させる。
4. カスタム要素を広告バナーの下部に表示する
「TIPS:[ASP.NET]AdRotatorコントロールで任意の付加情報を表示するには?」でも紹介したように、AdRotatorコントロールでは拡張情報も管理できる。これはデータソースとして標準の広告スケジュール・ファイルではなく、データベースを利用した場合も同様だ。
以下では、データベース上にあらかじめ用意されたAdTextフィールド(広告テキスト)をAdRotatorコントロール下のLiteralコントロールに表示する例だ。
|
||
カスタム情報を広告バナーに付随する処理(上:AdRotator_cs.aspx.cs、下:AdRotator_vb.aspx.vb) |
「TIPS:[ASP.NET]AdRotatorコントロールで任意の付加情報を表示するには?」で紹介したのと同じ要領で、拡張情報を取得できることが確認できるはずだ。本稿では、AdTextフィールドのみを追加しているが、もちろん、必要に応じて、複数の拡張情報を追加することも可能だ。実行した結果、冒頭のようなバナー画像が切り替え表示されることを確認してほしい。
利用可能バージョン:.NET Framework 2.0のみ カテゴリ:Webフォーム 処理対象:AdRotatorコントロール 使用ライブラリ:AdRotatorコントロール 使用ライブラリ:SqlDataSourceコントロール 関連TIPS:[ASP.NET]AdRotatorコントロールでクリック率を管理するには? 関連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用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
![]() |
|
|
|
![]() |