ASP.NET 广告轮播


AdRotator 控件从外部 XML 计划文件中指定的列表中随机选择横幅图形。这个外部 XML 计划文件称为广告文件。

AdRotator 控件允许你分别在 AdvertisementFile 和 Target 属性中指定广告文件和链接应遵循的窗口类型。

添加 AdRotator 的基本语法如下:

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

在详细了解 AdRotator 控件及其属性之前,让我们先了解一下广告文件的构造。

广告文件


广告文件是一个 XML 文件,其中包含有关要显示的广告的信息。

可扩展标记语言 (XML) 是用于文本文档标记的 W3C 标准。它是一种基于文本的标记语言,使你能够使用有意义的标签以结构化格式存储数据。术语“可扩展”意味着你可以通过为应用程序定义有意义的标签来扩展描述文档的能力。

XML 本身不像 HTML 那样是一种语言,而是一组用于创建新标记语言的规则。它是一种元标记语言。它允许开发人员为特殊用途创建自定义标签集。它构造、存储和传输信息。

以下是 XML 文件的示例:

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

与所有 XML 文件一样,广告文件需要是结构化的文本文件,带有明确定义的标签来描述数据。广告文件中常用的标准 XML 元素有以下几种:

Element 描述
广告 附上广告文件。
Ad 描绘单独的广告。
ImageUrl 将显示的图像路径。
导航网址 用户点击广告时将跟随的链接。
替代文本 如果无法显示,将显示的文本而不是图片。
Keyword 标识一组广告的关键字。这用于过滤。
展示次数 指示广告出现频率的数字。
Height 要显示的图像的高度。
Width 要显示的图像的宽度。

除了这些标签之外,还可以包括具有自定义属性的海关标签。以下代码说明了一个广告文件 ads.xml:

<Advertisements>
    <Ad>
        <ImageUrl>rose1.jpg</ImageUrl>
        <NavigateUrl>http:// www.1800flowers.com
        <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
        <AlternateText>Order roses and flowers</AlternateText>
        <Impressions>20</Impressions>
        <Keyword>gifts</Keyword>
    </Ad>

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

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

AdRotator 类的属性和事件


AdRotator 类派生自 WebControl 类并继承其属性。除此之外,AdRotator 类还具有以下属性:

特性 描述
广告文件 广告文件的路径。
备用文本字段 提供替代文本的字段的元素名称。默认值为 AlternateText。
数据成员 不使用广告文件时要绑定的具体数据列表的名称。
数据源 控制从何处检索数据。
数据源ID 将从中检索数据的控件的 ID。
Font 指定与广告横幅控件关联的字体属性。
图像网址字段 提供图像 URL 的字段的元素名称。默认值为 ImageUrl。
关键字过滤器 仅用于显示基于关键字的广告。
导航网址字段 提供要导航到的 URL 的字段的元素名称。默认值为 NavigateUrl。
Target 显示链接页面内容的浏览器窗口或框架。
UniqueID 获取 AdRotator 控件的唯一、分层限定标识符。

以下是 AdRotator 类的重要事件:

Events 描述
广告创建 在创建控件之后,但在呈现页面之前,每次往返到服务器都会引发一次
数据绑定 当服务器控件绑定到数据源时发生。
数据绑定 在服务器控件绑定到数据源之后发生。
Disposed 当服务器控件从内存中释放时发生,这是请求 ASP.NET 页面时服务器控件生命周期的最后阶段
Init 在初始化服务器控件时发生,这是其生命周期的第一步。
Load 在将服务器控件加载到 Page 对象时发生。
预渲染 在加载控件对象之后但在渲染之前发生。
Unload 从内存中卸载服务器控件时发生。

使用 AdRotator 控件


创建一个新网页并在其上放置一个 AdRotator 控件。

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

ads.xml 文件和图像文件应位于网站的根目录中。

尝试执行上述应用程序并观察每次重新加载页面时,广告都会发生变化。