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"];
}