AdRotator Web サーバー コントロール
Web フォーム ページに広告見出しを表示します。
<asp:AdRotator
id="Value"
AdvertisementFile="AdvertisementFile"
KeyWordFilter="KeyWord"
Target="Target"
OnAdCreated="OnAdCreatedMethod"
runat="server"/>
広告ファイルの形式
AdRotator コントロールは、別の XML 広告ファイルを使用して、表示するイメージの場所、リンク先ページの URL などの広告情報を格納します。AdRotator コントロールの AdvertisementFile プロパティで、このファイルのパスを指定します。
広告ファイルを作成するときは、<Advertisements> の開始タグと終了タグで、それぞれファイルの先頭と末尾をマークします。<Ad> の開始タグと終了タグで、各広告を区切ります。すべての広告が、<Advertisements> の開始タグと終了タグの間で入れ子になります。ファイルに複数の <Advertisements> タグが含まれている場合、AdRotator コントロールによって解析されるのは、ファイル内の最初の <Advertisements> タグのセットだけです。その他のすべての <Advertisements> タグは無視されます。
各広告のデータ要素は、<Ad> の開始タグと終了タグの間で入れ子になります。一部の要素 (ImageUrl や href など) は定義済みですが、<Ad> タグの間にはカスタムの要素も配置できます。これらのカスタム要素は、AdRotator コントロールがファイルを解析するときに読み取られます。その後、それらの情報は AdProperties ディクショナリ プロパティとして AdCreated イベントに渡されます。
XML 広告ファイル用に定義されているデータ要素を次の表に示します。
要素 | 説明 |
---|---|
<ImageUrl> | イメージ ファイルの絶対 URL または相対 URL (省略可能)。 |
<href> | ユーザーが広告をクリックしたときにリンクするページの URL (省略可能)。
メモ この要素が設定されていない場合は、アンカ タグに HRef プロパティは出力されません。 |
<AlternateText> | ImageUrl プロパティで指定されたイメージを使用できないときに、イメージの代わりに表示されるテキスト (省略可能)。
ブラウザによっては、このテキストが広告のツール ヒントとしても表示されます。 |
<Keyword> | フィルタとして使用できる、"computers" などの広告のカテゴリ (省略可能)。 |
<Impressions> | 複数広告の循環表示スケジュールにおける広告の重要度を、ファイル内の他の広告との相対値で示す数値 (省略可能)。
数値が大きい広告ほど、頻繁に表示されます。XML ファイルに含まれるすべての Impressions 値の合計は、2,047,999,999 以下にする必要があります。この合計値を超えると、AdRotator はランタイム例外をスローします。 |
XML 広告ファイルの書式を次に示します。
<Advertisements>
<Ad>
<ImageUrl>
URL of image to display for Advertisement #1
</ImageUrl>
<href>
URL of page to link to for Advertisement #1
</href>
<AlternateText>
Text to show as a ToolTip for Advertisement #1
</AlternateText>
<Keyword>
Keyword used to filter for Advertisement #1
</Keyword>
<Impressions>
Relative importance of Advertisement #1
</Impressions>
<CustomInformation>
Custom Data about Advertisement #1
</CustomInformation>
</Ad>
</Advertisements>
解説
AdRotator コントロールは、Web フォーム ページに広告見出しを表示します。表示されるイメージは、アンカ コントロール内の ImageUrl 要素で指定されたイメージです。実行時に、AdRotator コントロールは <asp:HyperLink> コントロールと <asp:Image> コントロールを使用して、Web フォーム ページ上にコントロールを描画します。ソース イメージのサイズは、実際のサイズに関係なく、ブラウザによって AdRotator コントロールのサイズに調整されます。
AdvertisementFile プロパティが設定されている場合は、ファイルの Impressions プロパティの値に基づいて広告が選択されます。次に、イベントの引数が設定され、AdCreated イベントが発生します。AdvertisementFile プロパティが設定されていない場合は、AdCreated イベントが発生したときのイベントの引数は空です。このイベント引数を使用して AdRotator コントロールが描画されるため、広告ファイルからイベントに渡すこれらの値を変更したり、独自に生成した値を設定したりできます。多くの場合は、データベースから取得した値をイベント引数として設定します。
広告ファイルを作成するときは、次の点を考慮してください。
- 広告ファイルの XML は整形式である必要があります。
- ファイル内の最初の <Advertisements> 要素だけが AdRotator コントロールで解析されます。ファイル内に含まれるその他のすべての <Advertisements> 要素は無視されます。
- カスタムの要素を広告の XML 記述に追加できます。これらの値は、AdProperties ディクショナリ プロパティとして AdCreated イベントに渡されます。
AdCreated イベントを使用して、コードで直接広告を選択したり、広告ファイルから選択した広告の表示を変更したりできます。広告ファイルが設定されている場合は、AdCreated イベントに渡す引数は、このイベントが呼び出されたときに選択されていた広告に既に設定されています。値が既に設定されているかどうかに関係なく、ImageUrl、href、AlternateText の各プロパティの値を変更して、AdRotator コントロールの表示を変更できます。広告の XML 記述に追加されたカスタム要素は、AdCreatedEventArgs.AdProperties ディクショナリ プロパティの形で使用できます。
AdRotator コントロールのプロパティとイベントの詳細については、AdRotator クラスのドキュメントを参照してください。
例
.aspx ファイルで AdRotator コントロールを宣言する方法を次の例に示します。
<html>
<head>
</head>
<body>
<form runat="server">
<h3>AdRotator Example</h3>
<asp:AdRotator id="AdRotator1"
Target="_self"
AdvertisementFile="Ads.xml"
runat="server"/>
</form>
</body>
</html>
href プロパティの値をプログラムによってオーバーライドする、AdCreated イベントのイベント ハンドラを作成する方法を次の例に示します。
<%@ Page Language="VB" AutoEventWireup="True" %>
<html>
<head>
<script runat="server">
Sub AdCreated_Event(sender As Object, e As AdCreatedEventArgs)
e.href = "https://www.microsoft.com"
End Sub
</script>
</head>
<body>
<form runat="server">
<h3>AdRotator Example</h3>
<asp:AdRotator id="AdRotator1" runat="server"
AdvertisementFile = "Ads.xml"
Target="_newwwindow"
OnAdCreated="AdCreated_Event"/>
</form>
</body>
</html>
[C#]
<%@ Page Language="C#" AutoEventWireup="True" %>
<html>
<head>
<script runat="server">
void AdCreated_Event(Object sender, AdCreatedEventArgs e)
{
e.href = "https://www.microsoft.com";
}
</script>
</head>
<body>
<form runat="server">
<h3>AdRotator Example</h3>
<asp:AdRotator id="AdRotator1" runat="server"
AdvertisementFile = "Ads.xml"
Target="_newwwindow"
OnAdCreated="AdCreated_Event"/>
</form>
</body>
</html>
次の例は、XML 広告ファイルの形式を示しています。
<Advertisements>
<Ad>
<ImageUrl>image1.jpg</ImageUrl>
<href>https://www.microsoft.com</href>
<AlternateText>Microsoft Main Site</AlternateText>
<Impressions>80</Impressions>
<Keyword>Topic1</Keyword>
<Caption>This is the caption for Ad#1</Caption>
</Ad>
<Ad>
<ImageUrl>image2.jpg</ImageUrl>
<href>http://www.wingtiptoys.com</href>
<AlternateText>Wing Tip Toys</AlternateText>
<Impressions>80</Impressions>
<Keyword>Topic2</Keyword>
<Caption>This is the caption for Ad#2</Caption>
</Ad>
</Advertisements>