在 Web Form 網頁上顯示廣告橫幅。
<asp:AdRotator
id="Value"
AdvertisementFile="AdvertisementFile"
KeyWordFilter="KeyWord"
Target="Target"
OnAdCreated="OnAdCreatedMethod"
runat="server"/>
廣告檔格式
AdRotator 控制項使用一個單獨的 XML 廣告檔來儲存廣告資訊,例如所要顯示之影像的位置以及所要連結之網頁的 URL。AdRotator 控制項的 AdvertisementFile 屬性會指定這個檔案的路徑。
建立廣告檔時,開始和結束的 <Advertisements> 標記分別標記了檔案的開頭和結尾。開始和結束 <Ad> 標記則是分隔每一個廣告。所有廣告都是以巢狀方式置於開始和結束的 <Advertisements> 標記之間。如果檔案中含有多個 <Advertisements> 標記,只有檔案中的第一組 <Advertisements> 標記會被 AdRotator 控制項剖析。所有其他的 <Advertisements> 標記都會被忽略。
每一個廣告的資料項目都是以巢狀方式置於開始和結束的 <Ad> 標記之間。雖然有些資料項目是預先定義的 (例如 ImageUrl 和 NavigateURL),不過您可以將自訂項目置於 <Ad> 標記之間。當 AdRotator 控制項剖析檔案的時候,它就會讀取這些項目。然後相關資訊就會傳遞給 AdProperties 字典屬性中的 AdCreated 事件。
下表所列是對 XML 廣告檔預先定義的資料項目。
| 項目 | 說明 |
|---|---|
| <ImageUrl> | 影像檔的絕對或相對 URL (選擇項)。 |
| <NavigateURL> | 當使用者按一下廣告時所要連結之網頁的 URL (選擇項)。
注意 如果沒有設定這個項目,HRef 屬性就不會呈現在錨點標記上。 |
| <AlternateText> | 當 ImageUrl 屬性指定的影像不能使用時,會替代影像而顯示的文字 (選擇項)。
在某些瀏覽器中,這些文字也會顯示為廣告的 ToolTip。 |
| <Keyword> | 您可以用來篩選的廣告類別,例如 "Computers" (選擇項)。 |
| <Impressions> | 指示這個廣告在輪換排程中相對於檔案中其他廣告之重要性的數值 (選擇項)。
數值愈大,廣告顯示的次數愈多。XML 檔案中所有 Impressions 值的總和不可超過 2,047,999,999。如果超過的話,AdRotator 便會擲回 Run-Time 例外狀況。 |
以下所示為 XML 廣告檔的格式。
<Advertisements>
<Ad>
<ImageUrl>
URL of image to display for Advertisement #1
</ImageUrl>
<NavigateURL>
URL of page to link to for Advertisement #1
</NavigateURL>
<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 Form 網頁上顯示廣告橫幅。它會顯示錨點控制項內 ImageUrl 項目所指定的影像。在 Run Time 時,AdRotator 控制項會使用 <asp:HyperLink> 和 <asp:Image> 控制項在 Web Form 網頁上呈現控制項。瀏覽器會將來源影像調整成 AdRotator 控制項的尺寸,而不論影像的實際大小為何。
如果設定了 AdvertisementFile 屬性,就會依據 Impressions 屬性的值從檔案中選取廣告。然後便會設定事件引數並且引發 AdCreated 事件。如果沒有設定 AdvertisementFile 屬性,在引發 AdCreated 事件時事件引數會是空的。事件引數是用來呈現 AdRotator 控制項,所以您可以從廣告檔修改傳遞給事件的值,或者用您自己產生的值來設定它們。有種常見的案例是使用從資料庫擷取的值來填入 (Populate) 事件引數。
當您建立廣告檔時,請考量下列幾點:
- 廣告檔中的 XML 必須結構完整。
- AdRotator 控制項只會剖析檔案中的第一個 <Advertisements> 項目。檔案中所有其他 <Advertisements> 項目都會被忽略。
- 您可以將自訂項目加入至廣告的 XML 描述。這些值會傳遞給 AdProperties 字典屬性中的 AdCreated 事件。
您可以使用 AdCreated 事件在您的程式碼中直接選取廣告,或者修改從廣告檔所選取之廣告的呈現。如果設定了廣告檔,當 AdCreated 事件被呼叫時,它的引數已經被設定為所選取的廣告。不論這些值是否已經設定,您都可以修改 ImageUrl、NavigateURL 和 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>
下列範例是示範如何建立 AdCreated 事件的事件處理常式,以程式設計的方式覆寫 NavigateURL 屬性的值。
<%@ Page Language="VB" AutoEventWireup="True" %>
<html>
<head>
<script runat="server">
Sub AdCreated_Event(sender As Object, e As AdCreatedEventArgs)
e.NavigateURL = "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.NavigateURL = "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>
<NavigateURL>https://www.microsoft.com</NavigateURL>
<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>
<NavigateURL>http://www.wingtiptoys.com</NavigateURL>
<AlternateText>Wing Tip Toys</AlternateText>
<Impressions>80</Impressions>
<Keyword>Topic2</Keyword>
<Caption>This is the caption for Ad#2</Caption>
</Ad>
</Advertisements>