国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

ASP.NET - 使用 AdRotator 控件顯示和跟蹤廣告

2019-11-17 04:02:43
字體:
來源:轉載
供稿:網友
網站經常顯示廣告或邀請用戶訪問其他站點的類似動態內容。asp.net 提供的 AdRotator 控件可簡化此任務。AdRotator 控件顯示表示廣告的圖形,而廣告是從您創建的列表中隨機選擇的。然后,可以跟蹤某個廣告的查看頻率以及用戶單擊該廣告頻率。

本演練演示如何使用 AdRotator 控件顯示廣告,并提供一個簡單方法來跟蹤廣告響應。本演練涉及以下任務:

·         創建要顯示的廣告的列表。

·         在頁上顯示廣告。

·         創建跟蹤廣告單擊次數的方法。

·         顯示廣告的單擊統計信息。

先決條件

為了完成本演練,您需要:

·         Microsoft Visual Web Developer Web 開發工具。

·         .NET Framework。

·         對 Visual Web Developer 的使用有大致了解。

創建網站

如果您已經通過完成 演練:在 Visual Web Developer 中創建基本網頁 在 Visual Web Developer 中創建了網站,則可以使用該網站,并轉至下一部分。否則,按照下面的步驟創建一個新的網站和網頁。

創建文件系統網站
1.       打開 Visual Web Developer。

2.       在“文件”菜單上單擊“新建網站”。

出現“新建網站”對話框。

3.       在“Visual Studio 已安裝的模板”之下單擊“ASP.NET 網站”。

4.       在“位置”框中單擊“文件系統”,然后輸入要保存網站頁面的文件夾的名稱。

例如,鍵入文件夾名“C:/WebSite”。

5.       在“語言”列表中,單擊您想使用的編程語言。

您選擇的編程語言將是網站的默認語言,但您可以為每個頁分別設置編程語言。

6.       單擊“確定”。

Visual Studio 創建該文件夾和一個名為 Default.aspx 的新頁。

創建廣告

廣告是在頁上顯示的具有目標 URL 的圖形;用戶單擊該圖形時,他們會重定向到目標站點。因此,需要圖形文件用作廣告。

說明:

本演練的后面各節假定您要使用的圖形是根據下面的過程命名的。如果使用現有圖形,請確保在本演練后面部分中替換相應的文件名稱。



從在網站中創建文件夾來存儲圖形開始。

創建 Images 文件夾
1.       在解決方案資源管理器中,右擊網站的名稱,單擊“新建文件夾”,然后將該文件夾命名為“Images”。

2.       如果有現有圖形可用作廣告,則將這些圖形復制到該新文件夾。否則,按照下一過程創建一些圖像。

如果已有一些圖形可用來表示廣告,則可以使用這些圖形。否則,下面的過程提供了一種方式,可創建適合于本演練的圖形。

創建要用作廣告的圖形
1.       在 Microsoft Windows 中,打開“畫圖”。

2.       在“圖像”菜單上單擊“屬性”。

3.       在“屬性”對話框中,將“寬度”設置為“250”,將“高度”設置為“50”,然后單擊“確定”。

4.       將文本工具從工具箱拖動到該圖形上,然后鍵入一些可幫助標識該廣告的文本

5.       在文件夾 <Websitename>/Images 中,將該圖形保存為 <Websitename>/Images/Contoso_ad.gif。

6.       創建另一個圖形,然后將其保存為 <Websitename>/Images/ASPNET_ad.gif。

7.       關閉“畫圖”。

創建廣告列表
有了廣告圖形之后,必須立即創建 AdRotator 控件能夠讀取的廣告列表。列表的形式為 xml 文件。

創建廣告的 XML 文件
1.       在解決方案資源管理器中,右擊 App_Data,然后單擊“添加新項”。

說明:

將 XML 文件放入 App_Data 文件夾時,XML 文件就自動具有了允許 ASP.NET 在運行時對其進行讀取的相應權限。將 XML 文件放入 App_Data 文件夾有助于防止該文件在瀏覽器中被查看,因為 App_Data 文件夾被標記為不可瀏覽。



2.       在“Visual Studio 已安裝的模板”之下單擊“XML 文件”。

3.       在“名稱”框中鍵入“Sample.ads”。

說明:

使用 .ads 擴展名。



4.       單擊“添加”。

創建一個僅包含 XML 指令的新 XML 文件。

5.       將下面的 XML 復制到該文件中,并覆蓋 XML 指令。

<?xml version="1.0" encoding="utf-8" ?><Advertisements>  <Ad>    <ImageUrl>~/images/Contoso_ad.gif</ImageUrl>    <NavigateUrl>http://www.contoso.com</NavigateUrl>    <AlternateText>Ad for Contoso.com</AlternateText>  </Ad>  <Ad>    <ImageUrl>~/images/ASPNET_ad.gif</ImageUrl>    <NavigateUrl>http://www.asp.net</NavigateUrl>    <AlternateText>Ad for ASP.NET Web site</AlternateText>  </Ad></Advertisements>說明:

如果圖形文件具有不同的文件名,則相應地更改 <ImageUrl> 元素中的名稱。



此 XML 文件包含兩個廣告的 <Ad> 元素,這兩個廣告對應于創建的兩個圖形文件。在實際應用程序中,<NavigateUrl> 元素中的 URL 引用的是廣告的網站。

說明:

定義廣告還可使用其他元素。



6.       保存文件,然后將其關閉。

在頁上顯示廣告
現在配置網頁以顯示已創建的廣告。在下面的過程中,您會將 AdRotator 控件綁定到 XmlDataSource 控件。但是,當使用靜態 XML 文件時,則不需要數據源控件,原因是可以用 AdRotator 控件的 AdvertisementFile 屬性直接設置 XML 文件。

在頁上顯示廣告
1.       如果已為本演練創建了新網站,則打開 Default.aspx 頁。

2.       如果要使用在開始本演練前就已存在的網站,則按照下面的步驟添加一個新頁:

a.       在解決方案資源管理器中,右擊網站的名稱(如 C:/WebSites),再單擊“添加新項”。

b.       在“Visual Studio 已安裝的模板”下單擊“Web 窗體”。

c.       在“名稱”框中鍵入“TestAds.aspx”。

d.       單擊“添加”。

3.       打開 TestAds.aspx 然后切換到“設計”視圖。

4.       從工具箱的“標準”組中,將一個 AdRotator 控件拖到該頁上。

出現“AdRotator 任務”快捷菜單。

5.       在“選擇數據源”列表中,單擊“新建數據源”。

出現“數據源配置”向導。

6.       在“應用程序從哪里獲取數據”下,單擊“XML 文件”。

7.       在“為數據源指定 ID”框中,保留默認值“(XmlDataSource1)”。

8.       單擊“確定”。

出現“配置數據源”對話框。

9.       在“數據文件”框中,輸入 ~/App_Data/Sample.ads,然后單擊“確定”。

或者,還可以使用“瀏覽”查找文件:

a.       在“選擇 XML 文件”對話框的“文件類型”列表中,單擊“所有文件 (*.*)”。

b.       在“項目文件夾”下,單擊“App_Data”。

c.       在“文件夾內容”下,單擊“Sample.ads”,單擊“確定”,然后單擊“確定”。

10.   從工具箱的“標準”組中,將一個 Button 控件拖到頁上。

說明:

頁的具體布局無關緊要。



11.   Button 控件僅在頁上,以使您可以方便地將該頁回發到服務器。

現在將測試廣告。

測試廣告
1.       按 Ctrl+F5 運行該頁。

兩個廣告中的一個出現在頁上。

2.       單擊幾次“按鈕”可使頁回發。

出現的廣告是隨機變化的。

說明:

因為只有兩個廣告,因此可能必須單擊數次“按鈕”才能看到另一個廣告。



3.       單擊廣告。

您會重定向到該廣告的目標頁。

4.       關閉瀏覽器。

跟蹤廣告響應

此時,頁只顯示用戶可以單擊跳轉到另一頁的廣告。在演練的這一部分中,將添加功能來跟蹤用戶單擊廣告的次數。您將更改 Sample.ads 文件中的廣告的 URL,以便將廣告響應(以及標識廣告和最終目標的查詢字符串中的信息)發送到重定向頁。

然后,創建另一個 XML 文件來存儲廣告計數器信息。在成品網站中,不應使用 XML 文件來跟蹤廣告單擊數,因為 XML 文件不支持大流量。但是,為了實現本演練的目的,方便起見將使用 XML 文件,這樣就不必配置數據庫訪問。另外,在成品應用程序中,可能需要更為復雜的單擊跟蹤,如確保跟蹤特定訪問者、跟蹤單擊的時間和日期信息等。盡管如此,無論選擇什么數據跟蹤方式,使用重定向頁處理單擊的總體策略都是一樣的。

最后,將創建重定向頁,您將在該頁中累計不同廣告的計數器,然后再次重定向到要顯示的廣告的目標頁。

將廣告重定向到跟蹤頁
1.       打開 Sample.ads 文件。

2.       設置“NavigateUrl”以包含下面的內容:

·         重定向頁的名稱 (AdRedirector.aspx)。

·         每個廣告的標識符。

·         廣告最終指向的頁。

下面的代碼清單演示用指定 AdRedirector.aspx 頁的 URL 更新的 Sample.ads XML 文件。廣告標識符和目標頁被指定為查詢字符串。

說明:

由于“and”符 (&) 在 XML 中是一個保留字符,因而查詢字符串包含的將是實體引用 &amp; 。



<?xml version="1.0" encoding="utf-8" ?><Advertisements>  <Ad>    <ImageUrl>~/images/Contoso_ad.gif</ImageUrl>    <NavigateUrl>AdRedirector.aspx?ad=Widgets&amp;target=http://www.contoso.com/widgets/</NavigateUrl>    <AlternateText>Ad for Contoso.com</AlternateText>  </Ad>  <Ad>    <ImageUrl>~/images/ASPNET_ad.gif</ImageUrl>    <NavigateUrl>AdRedirector.aspx?ad=ASPNET&amp;target=http://www.asp.net</NavigateUrl>    <AlternateText>Ad for ASP.NET Web site</AlternateText>  </Ad></Advertisements>3.       保存 Sample.ads 文件,然后將其關閉。

下一步,創建 XML 文件,該文件存儲廣告單擊的計數器信息。在成品網站中不需要此步驟,因為信息會寫入數據庫。本演練中使用 XML 文件簡化了跟蹤廣告響應所需的步驟。

創建用于跟蹤廣告響應的 XML 文件
1.       在解決方案資源管理器中,右擊“App_Data”文件夾,然后單擊“添加新項”。

2.       在“模板”之下單擊“XML 文件”。

3.       在“名稱”框中,鍵入“AdResponses.xml”,然后單擊“添加”。

創建一個僅包含 XML 指令的新 XML 文件。

4.       將下面的 XML 復制到該文件中,并覆蓋 XML 指令。

<?xml version="1.0" standalone="yes"?><adResponses>  <ad adname="Widgets" hitCount="0" />  <ad adname="ASPNET" hitCount="0" /></adResponses>該文件包含的元素具有兩條信息(廣告的 ID 和計數器)。

說明:

如果在前一過程中創建查詢字符串時在 Sample.ads 文件中將不同的 ID 指定給了廣告,請確保 AdResponses.xml 文件中的 ID 與這些 ID 匹配。



5.       保存文件,然后將其關閉。

說明:

ASP.NET 是否具有 XML 文件的寫入權限取決于您所使用的 Web 服務器。在本演練中,您將使用 ASP.NET Development Server(包括在 Visual Web Developer 中,并對 XML 文件具有寫訪問權)。如果您使用 Microsoft Internet 信息服務 (IIS),由于 IIS Web 服務器輔助進程可能對 XML 文件沒有寫訪問權,因此您必須顯式設置該寫入權限。



現在,將創建重定向頁,該頁可捕捉有關被單擊的廣告的信息,更新該廣告的計數器,然后將請求發送到該廣告的關聯頁。

創建 Page_Load 處理程序
1.       在解決方案資源管理器中,右擊網站的名稱(如 C:/WebSites),再單擊“添加新項”。

2.       在“Visual Studio 已安裝的模板”下單擊“Web 窗體”。

3.       在“名稱”框中,鍵入“AdRedirector.aspx”,然后單擊“添加”。

這樣即可創建一個頁,用戶單擊任何廣告時都會定向到該頁。該頁不會向用戶顯示。因此,您不能在該頁上放置任何控件。

4.       在“設計”視圖中,雙擊該頁以創建 Page_Load 處理程序。

5.       將下面的代碼復制到該處理程序中(不覆蓋主干處理程序聲明)。



PRotected void Page_Load(object sender, EventArgs e){    String adName = Request.QueryString["ad"];    String redirect = Request.QueryString["target"];    if (adName == null | redirect == null)        redirect = "TestAds.aspx";     System.Xml.XmlDocument doc = new System.Xml.XmlDocument();    String docPath = @"~/App_Data/AdResponses.xml";    doc.Load(Server.MapPath(docPath));    System.Xml.XmlNode root = doc.DocumentElement;    System.Xml.XmlNode adNode =        root.SelectSingleNode(        @"descendant::ad[@adname='" + adName + "']");    if (adNode != null)    {        int ctr =            int.Parse(adNode.Attributes["hitCount"].Value);        ctr += 1;        System.Xml.XmlNode newAdNode = adNode.CloneNode(false);        newAdNode.Attributes["hitCount"].Value = ctr.ToString();        root.ReplaceChild(newAdNode, adNode);        doc.Save(Server.MapPath(docPath));    }    Response.Redirect(redirect);}這段代碼從查詢字符串中讀取廣告 ID 和 URL。然后,使用 XML 方法將 AdResponse.xml 文件讀入到 XmlDocument 對象中。這段代碼使用 XPath 表達式查找適當的 XML 元素,提取 hitCounter 值,然后更新 hitCounter 值。接下來,這段代碼通過克隆創建 XML 元素的副本,用新的元素替換舊的元素,然后將更新后的 XML 文檔寫回磁盤。最后,這段代碼重定向到廣告的 URL。

現在將進行測試,以確認廣告的廣告計數器可正常工作。

測試廣告響應跟蹤
1.       打開包含 AdRotator 控件的頁,然后按 Ctrl+F5。

2.       單擊廣告。

您會重定向到該廣告的目標頁。

3.       在瀏覽器中,單擊“后退”返回到廣告頁。

4.       再次單擊廣告或單擊“按鈕”以顯示另一個廣告,然后單擊該廣告。

5.       繼續這樣操作,直到每個廣告都至少被單擊一次,且一個或多個廣告被單擊了多次。

6.       關閉瀏覽器。

7.       在 Visual Web Developer 中,打開 AdResponse.xml 文件,驗證廣告的計數器是否反映了測試中單擊的次數。

8.       關閉 AdResponse.xml 文件。

顯示廣告計數器數據

在本演練的最后部分,您將創建顯示廣告計數器信息的頁,這比手動檢查 XML 文件更加方便。

創建顯示廣告響應數據的頁
1.       在解決方案資源管理器中,右擊網站的名稱,然后單擊“添加新項”。

2.       在“Visual Studio 已安裝的模板”下單擊“Web 窗體”。

3.       在“名稱”框中,鍵入“ViewAdData.aspx”。

4.       單擊“添加”。

5.       切換到“設計”視圖。

6.       從工具箱的“數據”組中,將 XmlDataSource 控件拖到該頁上。

7.       在“XmlDataSource 任務”快捷菜單中,單擊“配置數據源”。

出現“配置數據源 <Datasourcename>”對話框。

8.       在“數據文件”框中,鍵入 ~/App_Data/AdResponses.xml。

或者,還可以使用“瀏覽”查找該文件。

9.       單擊“確定”。

10.   從工具箱的“數據”組中,將 GridView 控件拖動到頁面上。

11.   在“GridView 任務”快捷菜單的“選擇數據源”列表中,單擊“XmlDataSource1”。

12.   按 Ctrl+F5 運行該頁。

該頁在網格中顯示廣告響應數據。

13.   關閉瀏覽器。

后續步驟

本演練只介紹了 AdRotator 控件的一部分功能。通過以下方式可了解該控件的其他功能:

·         在 XML 文件中創建廣告時使用更多屬性。

例如,可以使用 Impressions 元素來控制某個廣告相對于廣告文件中其他廣告的選中頻率。值越大,選中該廣告的可能性越大。有關詳細信息,請參見 AdvertisementFile。

·         使用數據庫跟蹤廣告響應。

說明:

在成品應用程序中,不要使用 XML 文件跟蹤廣告響應,因為 XML 文件不會無法支持很多用戶。本演練將 XML 文件用于廣告響應僅是為了簡化演練,這樣不必配置數據庫。



·         跟蹤廣告單擊的更多信息。

通過向瀏覽器寫入 Cookie(如果用戶當天單擊過該廣告),或在存儲單擊信息時跟蹤瀏覽器的 ip 地址,可以確保跟蹤特定訪問者。可以根據日期和時間收集單擊信息,也可以根據源頁上的其他動態內容跟蹤廣告信息,這有助于對流量模式進行分析。

·         使用另一個數據源控件將 AdRotator 控件綁定到其數據。

例如,可以將廣告數據存儲在數據庫中。如果這樣做,則可以將數據源控件添加到頁,也可以配置該控件以使用查詢獲取廣告數據。然后,可以將 AdRotator 控件綁定到數據源控件。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 长乐市| 镇沅| 许昌县| 万盛区| 蛟河市| 铜川市| 瑞丽市| 镇原县| 三门峡市| 三门县| 凤庆县| 德州市| 临夏县| 高安市| 黄梅县| 久治县| 济宁市| 当雄县| 台湾省| 全州县| 呈贡县| 赤水市| 磐安县| 盐山县| 天祝| 常德市| 黄山市| 五家渠市| 丰都县| 四子王旗| 梨树县| 桓台县| 桦甸市| 龙游县| 天门市| 天镇县| 日土县| 汶川县| 恩平市| 孝昌县| 赣州市|