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 元素:
元素 |
说明 |
Advertisements |
包含广告文件。 |
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>
AdRotator 类的属性和事件
AdRotator 类派生自 WebControl 类并继承其属性。除此之外,AdRotator 类还具有以下属性:
属性 |
说明 |
AdvertisementFile |
广告文件的路径。 |
AlternateTextFeild |
提供替代文本的字段的元素名称。默认值为 AlternateText。 |
DataMember |
不使用广告文件时要绑定的特定数据列表的名称。 |
DataSource |
控制从哪里检索数据。 |
DataSourceID |
从中检索数据的控件的 ID。 |
Font |
指定与广告横幅控件关联的字体属性。 |
ImageUrlField |
提供图像 URL 的字段的元素名称。默认值为 ImageUrl。 |
KeywordFilter |
仅用于展示基于关键字的广告。 |
NavigateUrlField |
提供要导航到的 URL 的字段的元素名称。默认值为 NavigateUrl。 |
Target |
显示链接页面内容的浏览器窗口或框架。 |
UniqueID |
为 AdRotator 控件获取唯一的、分层限定的标识符。 |
以下是 AdRotator 类的重要事件:
事件 |
说明 |
AdCreated |
在创建控件之后,但在呈现页面之前,每次往返服务器都会引发一次 |
DataBinding |
在服务器控件绑定到数据源时发生。 |
DataBound |
在服务器控件绑定到数据源之后发生。 |
Disposed |
当服务器控件从内存中释放时发生,这是请求 ASP.NET 页面时服务器控件生命周期的最后阶段 |
Init |
在初始化服务器控件时发生,这是其生命周期的第一步。 |
Load |
在将服务器控件加载到 Page 对象中时发生。 |
PreRender |
在加载 Control 对象之后但在渲染之前发生。 |
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 文件和图片文件应位于网站的根目录中。
尝试执行上述应用程序,观察每次页面重新加载时,广告都会发生变化。