《Programming ASP.NET》学习笔记(AdRotator控件)

本文介绍了ASP.NET中的AdRotator控件,该控件能够从XML文件或数据源中随机展示广告图片,并详细解释了如何配置其属性,如AdvertisementFile、Target等,以及如何通过AdCreated事件处理自定义需求。

AdRotator控件

该控件从列表中随机显示一个图片,常用于在页面上显示广告。

这个列表可以是存储在单独的XML文件或数据绑定的数据源中的。
无论哪一种,列表都会包含图片的属性、路径及单击图片时链接到的URL。
图片将在每次页面加载时更改。

AdRotator控件的属性和事件
名称   说明
AdvertisementFile 包含广告及广告属性列表的XML路径
DataMember  控件将绑定到的数据列表的名称
DataSource  控件将要从中获取数据的对象
DataSourceID  控件将要从中获取数据的控件的ID
KeywordFilter  从广告文件中筛选广告的类别关键字
Target   单击AdRotator时用于显示目录页面内容的浏览器窗口或框架
AdCreated 在控件创建后、呈现页面前,在每个到服务器的往返行程过程中发生
AlternateTextField
 广告文件或数据字段的元素名称,其中储存了替换文本。默认值为AlternateText
ImageUrlField
 广告文件或数据字段的元素名称,其中储存了图片的URL。默认值为ImageUrl
NavigateUrlField
 广告文件或数据字段的元素名称,在其中储存了要导航到的URL。默认值为NavigateUrl

Target属性的值必须以小写的a到z中的字符开头,区分大小写,特殊值除外
Target属性的特殊值
值 说明
_blank
在除框架之外未命名的新窗口呈现内容
_new
未文档化。单击时的行为与_blank相同,只不过后续的单击将在同一个窗口呈现,而不用打开一个新窗口
_parent
在链接所在窗口或框架的父窗口或框架呈现内容。如果子容器是一个窗口或顶级的框架,则与_self相同
_self
在当前焦点所在的窗口或框架呈现内容。这是默认的行为
_top
在当前无框架的的整个窗口中呈现内容

 

广告文件

广告文件是一个XML文件,它包含了AdRotator控件显示的广告有关的信息。
该文件的位置和文件名由控件的AdvertisementFile属性指定。

AdvertisementFile属性不能和DataSource、DataMember或DataSourceID属性同时设置。
即数据只能来源于一个广告文件,或数据源。
该属性是可选的,可以在AdCreated的事件中以编程方式创建一个广告

广告文件是一个使用已定义好的,使用标签描述数据的XML文件。
标签  说明
Advertisements 包含整个广告文件
Ad  描述每一个单独的广告
ImageUrl 要显示的图像的URL。必需
NavigateUrl 单击该控件时定位到的URL
AlternateText 图像不可用时要显示的文本
Impressions 指示广告显示的频率
Keyword  广告类别。可用于通过设置KeywordFilter属性过滤要显示的广告

除了列出的标签,也可以包含自定义的标签以便拥有自定义属性。

例如:
<Advertisements>
  <Ad>
    <ImageUrl>ProgAspNet.gif</ImageUrl>
    <NavigateUrl>
      http://www.oreilly.com/catalog/progaspdotnet2/index.html
    </NavigateUrl>
    <AlternateText>Programming ASP.NET</AlternateText>
    <Keyword>Web</Keyword>
    <Impressions>50</Impressions>
    <Animal>stingray</Animal>
  </Ad>
</Advertisements>

广告文件中所有的属性标签被分析后放到adProperties字典中。
无论是标准的或自定义的,都由AdCreated事件处理程序中的代码实现。

 

使用AdRotator

创建AdRotator控件,可以用AdvertisementFile属性指定广告文件地址,用OnAdCreated属性指定处理函数。
例如:
<asp:AdRotator ID="ad" runat="server" Target="_blank" AdvertisementFile="ads.xml" OnAdCreated="ad_AdCreated" />

AdCreated事件在每次回发到服务器且控件被创建之后呈现页面之前触发。
控件声明中的OnAdCreated属性指定了该事件在引发时的事件处理程序。
该事件处理程序传递一个AdCreatedEventArgs类型的参数

AdCreateEventArgs类的属性
属性  说明
AdProperties 获取一个字典对象,该对象包含了广告文件中的所有对象
AlternateText 广告图片无效时显示的替换文本(或工具提示,如果支持)
ImageUrl 要显示的图片的URL
NavigateUrl 控件被单击时要显示的页面的URL

AdProperties 属性 返回一个Dictionary
当获取AdProperties属性时,它会隐式地调用Dictionary对象的Item方法,它返回一个与字典项相应的值
例如:
(string)e.AdProperties["Animal"]

可以在AdCreated事件获取这个属性并进行相应处理
例如:
protected void ad_AdCreated(object sender, AdCreatedEventArgs e)
{
    lblAnimal.Text = (string)e.AdProperties["Animal"];

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值