Asp.net 简明教程

ASP.NET - Ad Rotator

AdRotator 控件从一个列表中随机选择标语图形,列表在外部 XML 调度文件中指定。该外部 XML 调度文件称为广告文件。

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

添加 AdRotator 的基本语法如下:

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

在深入了解 AdRotator 控件及其属性之前,让我们深入了解广告文件的构造。

The Advertisement File

广告文件是一个 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

Description

Advertisements

Encloses the advertisement file.

Ad

Delineates separate ad.

ImageUrl

将显示的图片的路径。

NavigateUrl

当用户点击广告时将遵循的链接。

AlternateText

如果图片无法显示,将显示的文本代替图片。

Keyword

标识一组广告的关键字。这用于过滤。

Impressions

指示广告将显示的频率的数字。

Height

要显示的图片的高度。

Width

要显示的图片的宽度。

除了这些标签以外,还可以包括具有自定义属性的自定义标签。以下代码演示了广告文件 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>

Properties and Events of the AdRotator Class

AdRotator 类从 WebControl 类派生,并继承了其属性。除了这些属性外,AdRotator 类还有以下属性:

Properties

Description

AdvertisementFile

指向广告文件的路径。

AlternateTextFeild

当提供备选文本时,该字段的元素名称。默认值为 AlternateText。

DataMember

当未使用广告文件时,要绑定的特定数据列表的名称。

DataSource

从哪里检索数据的控件。

DataSourceID

要检索数据的控件 ID。

Font

指定与广告横幅控件关联的字体属性。

ImageUrlField

提供图像 URL 的字段的元素名称。默认值为 ImageUrl。

KeywordFilter

仅用于显示基于关键字的广告。

NavigateUrlField

提供导航 URL 的字段的元素名称。默认值为 NavigateUrl。

Target

显示页面的内容的浏览器窗口或框架。

UniqueID

获取 AdRotator 控件的唯一分层限定标识符。

AdRotator 类的重要事件如下:

Events

Description

AdCreated

在控件创建后但页面呈现之前,每个往返服务器都会引发一次。

DataBinding

当服务器控件绑定到数据源时,发生此事件。

DataBound

当服务器控件绑定到数据源后,发生此事件。

Disposed

服务器控件从内存中释放时发生此事件,这是在请求 ASP.NET 页面时的服务器控件生命周期的最后阶段。

Init

初始化服务器控件时发生,这是其生命周期中的第一步。

Load

服务器控件加载到 Page 对象时发生。

PreRender

加载控件对象后,但在呈现前发生。

Unload

当服务器控件从内存中卸载时发生。

Working with AdRotator Control

创建新的网页,并在其上放置 AdRotator 控件。

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

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

尝试执行以上应用程序并观察每次重新加载该页面时广告都发生了更改。