鍍金池/ 教程/ C#/ 廣告輪轉(zhuǎn)器
調(diào)試
管理狀態(tài)
Panel 控件
Web 服務(wù)
語言集成查詢
數(shù)據(jù)源
基礎(chǔ)控件
廣告輪轉(zhuǎn)器
服務(wù)器端
服務(wù)器控件
ADO.NET
多線程
HTML 服務(wù)器
生命周期
Ajax 控制
客戶端
異常處理
環(huán)境設(shè)置
部署
個(gè)性化
驗(yàn)證器
多視圖
日歷
文件上傳
ASP.NET - 數(shù)據(jù)綁定
數(shù)據(jù)庫存取
實(shí)例
自定義控件
簡介
配置
數(shù)據(jù)緩存
安全性
指令
事件處理

廣告輪轉(zhuǎn)器

廣告輪轉(zhuǎn)控制器從一個(gè)列表里隨機(jī)選擇在外部 XML 定時(shí)文件中指定的橫幅圖像。這個(gè)外部 XML 定時(shí)文件被叫做廣告文件。

廣告輪轉(zhuǎn)控件允許你指定一個(gè)廣告文件和窗口的類型,鏈接應(yīng)該分別遵循 AdvertisementFile 和 Target 的屬性。

添加 AdRotator 的基本語法如下:

<asp:AdRotator  runat = "server" AdvertisementFile = "adfile.xml"  Target =  "_blank" />

在了解 AdRotator 控件以及它的屬性之前,讓我們先來看看廣告文件的構(gòu)成。

廣告文件

廣告文件是一種 XML 文件,它包括了廣告所要被顯示的信息。

可擴(kuò)展標(biāo)記語言(XML)是一種 W3C 的標(biāo)準(zhǔn)文本文檔標(biāo)記語言。它是一個(gè)基于文本的標(biāo)記語言,它使您可以通過使用有意義的標(biāo)簽來讓數(shù)據(jù)存儲(chǔ)在結(jié)構(gòu)化格式中。術(shù)語 'extensible' 意味著可以擴(kuò)展功能,通過給應(yīng)用程序定義有意義的標(biāo)簽來描述文檔。

XML 本身不是一種語言,如 HTML ,而是一組用于創(chuàng)建新的標(biāo)記語言的規(guī)則。它是一個(gè)元標(biāo)記語言。它允許開發(fā)人員創(chuàng)建自定義標(biāo)記集作特殊用途。它構(gòu)建,存儲(chǔ)并傳輸?shù)男畔ⅰ?/p>

下面是 XML 文件的一個(gè)例子:

<BOOK>
   <NAME> Learn XML </NAME>
   <AUTHOR> Samuel Peterson </AUTHOR>
   <PUBLISHER> NSS Publications </PUBLISHER>
   <PRICE> $30.00</PRICE>
</BOOK>

像所有的 XML 文件,該廣告文件需要被具有良好定義并標(biāo)記的結(jié)構(gòu)化文本文件來描繪數(shù)據(jù)。這里也有一些在廣告文件中常用的標(biāo)準(zhǔn) XML 元素:

元素 描述
Advertisements 包圍廣告文件。
Ad 界定獨(dú)立的廣告。
ImageUrl 將要顯示的圖像的路徑。
NavigateUrl 當(dāng)用戶點(diǎn)擊該廣告時(shí)出現(xiàn)的鏈接。
AlternateText 如果圖像不能被顯示,則會(huì)顯示文本。
Keyword 關(guān)鍵字用來識(shí)別一組廣告,用于過濾。
Impressions 該數(shù)字顯示廣告出現(xiàn)的頻率。
Height 顯示圖像的高度。
Width 顯示圖像的寬度。

除了這些標(biāo)簽,帶有一般屬性的習(xí)慣性的標(biāo)簽也可以被包含進(jìn)去。下面的代碼演示了一個(gè)廣告文件,ads.xml:

<Advertisements>
   <Ad>
      <ImageUrl>rose1.jpg</ImageUrl>
      <NavigateUrl>http://www.1800flowers.com</NavigateUrl>
      <AlternateText>
         Order flowers, roses, gifts and more
      </AlternateText>
      <Impressions>20</Impressions>
      <Keyword>flowers</Keyword>
   </Ad>

   <Ad>
      <ImageUrl>rose2.jpg</ImageUrl>
      <NavigateUrl>http://www.babybouquets.com.au</NavigateUrl>
      <AlternateText>Order roses and flowers</AlternateText>
      <Impressions>20</Impressions>
      <Keyword>gifts</Keyword>
   </Ad>

   <Ad>
      <ImageUrl>rose3.jpg</ImageUrl>
      <NavigateUrl>http://www.flowers2moscow.com</NavigateUrl>
      <AlternateText>Send flowers to Russia</AlternateText>
      <Impressions>20</Impressions>
      <Keyword>russia</Keyword>
   </Ad>

   <Ad>
      <ImageUrl>rose4.jpg</ImageUrl>
      <NavigateUrl>http://www.edibleblooms.com</NavigateUrl>
      <AlternateText>Edible Blooms</AlternateText>
      <Impressions>20</Impressions>
      <Keyword>gifts</Keyword>
   </Ad>
</Advertisements>

AdRotator 類的屬性和事件

AdRotator 類是從 WebControl 類中派生的并且繼承其屬性。除了這些屬性,AdRotator 類還具有以下屬性:

屬性 描述
AdvertisementFile 廣告文件的路徑。
AlternateTextFeild 提供替代文本的域的元素名稱。默認(rèn)值是 Alternate Text。
DataMember 當(dāng)不使用廣告文件時(shí),要綁定的數(shù)據(jù)的特定列表的名稱。
DataSource 控制檢索數(shù)據(jù)。
DataSourceID 檢索數(shù)據(jù)的控制 ID。
Font 指定與廣告橫幅控件相關(guān)聯(lián)的字體屬性。
ImageUrlField 提供 URL 圖像的域的名稱。默認(rèn)值是 ImageUrl。
KeywordFilter 只顯示基于關(guān)鍵字的廣告。
NavigateUrlField 提供要導(dǎo)航到的 URL 的域的元素名稱。默認(rèn)值是 NavigateUrl。
Target 顯示鏈接的網(wǎng)頁的內(nèi)容的瀏覽器窗口或框架。
UniqueID 獲得 AdRotator 控件的唯一的、以分層形式限定的標(biāo)識(shí)符。

以下是的 AdRotator 類的非常重要的事件:

事件 描述
AdCreated 每次往返服務(wù)器創(chuàng)建控件后,但是在頁面渲染之前被觸發(fā)。
DataBinding 當(dāng)服務(wù)器控件綁定到數(shù)據(jù)源時(shí)觸發(fā)。
DataBound 在服務(wù)器控件綁定到數(shù)據(jù)源之后發(fā)生。
Disposed 當(dāng)服務(wù)器控件從內(nèi)存釋放,在服務(wù)器控件生命周期的最后一個(gè)階段請(qǐng)求 ASP.NET 頁時(shí)觸發(fā)。
Init 當(dāng)服務(wù)器控制被初始化時(shí)觸發(fā),其生命周期中的第一個(gè)步驟出現(xiàn)。
Load 當(dāng)服務(wù)器控件加載到 Page 對(duì)象中時(shí)觸發(fā)。
PreRender 加載 Control 對(duì)象之后,但在此之前呈現(xiàn)觸發(fā)。
Unload 當(dāng)服務(wù)器控件從內(nèi)存中卸載時(shí)觸發(fā)。

使用 AdRotator 控件

創(chuàng)建一個(gè)新的網(wǎng)頁,并在其上放置一個(gè) AdRotator 控件。

<form id="form1" runat="server">
   <div>
      <asp:AdRotator ID="AdRotator1" runat="server" AdvertisementFile  ="~/ads.xml" onadcreated="AdRotator1_AdCreated" />
   </div>
</form>

該 ads.xml 文件和圖像文件應(yīng)該位于網(wǎng)站的根目錄。

試著執(zhí)行上述應(yīng)用程序,并觀察到頁面每次重載時(shí),廣告都被改變。

上一篇:自定義控件