65.9K
CodeProject 正在变化。 阅读更多。
Home

使用 ASP.NET 后台代码的 AdRotator

starIconstarIconstarIcon
emptyStarIcon
starIcon
emptyStarIcon

3.65/5 (39投票s)

2005年5月3日

CPOL

4分钟阅读

viewsIcon

449892

downloadIcon

11803

本文将教你如何开发一个带有广告管理系统的网站。

摘要

.NET 是微软开发的新型分布式计算平台,而 ASP.NET 是其用于 Web 开发的编程模型。 网页上的广告通常以广告横幅的形式出现——.gif 文件或类似图像——点击后会将用户重定向到广告商的网页。 为了在你的网页上生成广告,你需要图像文件和相应的 URL。 本文的目的是让初学者在使用 AdRotator Web 服务器控件方面获得良好的体验。 此应用程序将教你如何开发一个带有广告管理系统的网站。 它使用 XML 在网页中更改广告。

解决方案概述

AdRotator Web 服务器控件循环显示一系列可点击的广告横幅,并允许一些广告比其他广告权重更高。 广告可以通过使用具有预定义模式的 XML 文件或通过创建你自己的自定义逻辑链接到控件。 使用 AdRotator 控件通过以下两种方法之一检索和显示广告

  • 创建一个 XML 文件,其中包含对广告横幅及其相关属性的引用。
  • 编写你自己的逻辑以在 AdCreated 事件中选择一个广告横幅。

XML

存储广告横幅图像位置、重定向 URL 和相关属性的一种方法是将详细信息放入 XML 文件中。 通过使用 XML 文件格式,你可以创建和维护一个广告列表,而无需在你对广告进行更改时更改应用程序中的其他代码。 XML 文件可以使用 XML 设计器中的 Ad Rotator 计划文件模板创建,也可以由开发人员手动创建。

此应用程序中使用的控件

protected System.Web.UI.WebControls.AdRotator AdRotator;
protected System.Web.UI.WebControls.PlaceHolder PlaceHolder1;

此应用程序中使用的命名空间

using System.Web.UI.WebControls;
using System.Drawing;
using System.Web.UI.HtmlControls;

带有代码的解决方案

在 XML 文件中,我们可以通过为每个广告声明的关键字来过滤广告。 首先,将 AdRotator 控件添加到页面,然后将其链接到你希望显示的广告。 通过使用包含广告信息的单独的 XML 文件或通过在运行时将广告链接到事件处理程序中的控件,将广告链接到控件。

AdRotator Web 服务器控件添加到你的 Web 应用程序:首先,选择 AdRotator 并将控件拖放到你的 Web 表单中。 映射包含有关每个广告的详细信息的 XML 文件。

// XML CODE THAT AS THE DETAILS ABOUT THE ADS
<Advertisements>
    <Ad>
        <ImageUrl>D:\Viv_B-Practice\AdRotator_VT\www.asp.net.gif</ImageUrl>
        <NavigateUrl>http://www.asp.net</NavigateUrl>
        <AlternateText>ASP.NET Logo</AlternateText>
        <Keyword>A</Keyword>
        <Impressions>Technology</Impressions>
        <Caption>This is the caption for Ad#1</Caption> 
    </Ad>

    <Ad>
        <ImageUrl>D:\Viv_B-Practice\AdRotator_VT\www.sulekha.com.gif</ImageUrl>
        <NavigateUrl>http://www.sulekha.net</NavigateUrl>
        <AlternateText>www.Sulekha.net</AlternateText>
        <Keyword>S</Keyword>
        <Impressions>Web Site</Impressions>
        <Caption>This is the caption for Ad#2</Caption> 
    </Ad>

    <Ad>
        <ImageUrl>D:\Viv_B-Practice\AdRotator_VT\FlashFile.swf</ImageUrl>
        <NavigateUrl>AdRotator.aspx?ad=Widgets
               &target=http://msdn.microsoft.com/widgets/</NavigateUrl>
        <AlternateText>www.neostream.net</AlternateText>
        <Keyword>S</Keyword>
        <Impressions>Flash Site</Impressions>
        <Caption>This is the caption for Ad#2</Caption> 
    </Ad>
</Advertisements>

上面显示的是 XML 代码。 上面的 XML 模板包含有关将放置在 Web 应用程序中的每个广告的详细信息。 你可以在 XML 设计器中使用 Ad Rotator 计划文件作为目标模式为 AdRotator 控件创建广告列表。

AdRotator 属性

  • ImageUrl - 要显示的图像的 URL。
  • NavigateUrl - 单击 AdRotator 控件时要导航到的页面的 URL。
  • AlternateText - 如果图像不可用,则显示的文本。
  • Keyword - 可用于过滤特定广告的广告类别。
  • Impressions - 一个数值,指示广告的显示频率。 XML 文件中所有印象值的总和可能不超过 2,048,000,000 - 1。所有属性都是可选的。

AdRotator 类

基本上,实际的 AdRotator 类只提供了一组有限的属性

<asp:AdRotator id="controlName" runat="server" 
    AdvertisementFile="ads.xml" Target="_self">
</asp:AdRotator>

在这里,我们可以看到占位符控件如何在运行时动态创建广告旋转器控件以及它是如何工作的。 PlaceHolder 控件允许你在页面中放置一个空的容器控件,然后在运行时向其中动态添加子元素。

// Create an AdRotator control.
AdRotator rotator = new AdRotator();

// Set the control's properties.
rotator.AdvertisementFile = "AdRotatorFiles.xml";

// Add the control to the Controls collection of a 
// PlaceHolder control.  
PlaceHolder1.Controls.Add(rotator);

PlaceHolder Web 服务器控件允许你在页面中放置一个空的容器控件,然后在运行时动态添加、删除或循环遍历子元素。 该控件仅呈现其子元素; 它没有自己的基于 HTML 的输出。 例如,你可能希望根据用户选择的选项在 Web 页面上显示可变数量的按钮。 这样,用户就不会遇到对于他们的个人需求不可用或不相关的潜在混淆选择。

© . All rights reserved.