AdRotator Web 控件


Posted on April 8, 2007


今天看了一下,还是不错的一个控件:

ASP.NET 移动 Web 窗体 AdRotator 控件(基于 ASP.NET Web 窗体 AdRotator 控件)用于随机并循环显示一组广告横幅。AdRotator 控件自动进行循环处理,每刷新一次页面改变一次显示内容。可以对广告进行加权以控制横幅的优先级,从而使某些广告的显示频率高于其他广告。

您的应用程序也可以使用自定义逻辑来循环通过广告。若要在移动 Web 窗体页上生成广告,您必须提供广告的图像文件。您可以使广告图像与用户单击广告链接时将浏览到的目标 URL 相关联。

AdRotator 控件必须放在 FormPanel 控件内,或者放在模板内。AdRotator 控件需要包含图像的 URL 的 XML 文件。此文件还可以指定每个广告的导航链接。使用 AdRotator 控件“属性”窗口中的 AdvertisementFile 属性可以使该控件与 XML 文件关联。有关的示例 XML 广告文件,请参见 AdRotator 控件主题的“示例”一节。

注意   在 ASP.NET 移动设计器的 AdRotator 控件中,不显示您选择的广告图像。在应用程序运行时才显示它们。

通常,最好将广告文件添加到项目中。这将帮助您确保在整个部署过程中此文件一直在项目中,并使其可用于“选择 XML 文件”对话框。

灵活的广告显示

应用程序可以针对不同的用户显示适当的广告。例如,通过在线购物购买自行车的人可能还希望看到自行车安全头盔的广告。AdRotator 控件的 KeywordFilter 属性可帮助应用程序选择最适合于每个用户的广告。

另外,您还可以使用 ImageKey 属性来提高应用程序显示广告的灵活性。在广告文件中,ImageKey 属性包含 XML 标记的名称。此 XML 标记用于指定广告图像的 URL。默认情况下,ImageKey 属性中包含的名称是 ImageUrl。因此,AdRotator 控件使用 XML 标记 <ImageUrl> 指定广告横幅的 URL。

通过将设备筛选器应用于 AdRotator 控件,可以使应用程序根据输出设备的显示能力有选择地重写值(指 ImageKey 属性的值)。例如,XML 广告文件可以使用标记 <ImageUrl> 作为默认图像源。对于使用无线位图图像格式的设备,它还可以包含标记 <WBMPImageUrl>;对于首选 .gif 图像的设备它还可以包含标记 <GIFImageUrl>。当已应用的设备筛选器检测到应用程序正在首选 .wbmp 格式的设备上显示时,应用程序可以将值 WBMPImageUrl 用作 ImageKey 属性的值。这将导致 AdRotator 控件将在 <WBMPImageUrl> 标记中指定的 URL 用作广告图像的 URL。如果已应用的设备筛选器检测到应用程序正在首选 .gif 格式图像的设备上运行时,则应用程序可以将 GIFImageUrl 用作 ImageKey 属性的值。结果,AdRotator 控件显示其 URL 由 <GIFImageUrl> 标记指定的位图图像。

另外,通过重写属性值,可使应用程序能够为特定的设备选择替代的 XML 广告文件。通过根据设备筛选器对硬件功能的评估,设置 AdvertisementFile 属性的值,就可以做到这一点。

为了能够在更大程度上进行自定义,AdRotator 控件为它的许多属性提供了数据绑定功能。有关数据绑定的更多信息,请参见使用数据绑定

每次加载页面时,AdRotator 控件都会生成 AdCreated 事件,应用程序通过使用事件处理程序可以响应此事件。由于应用程序能够响应此事件,所以它可以自定义广告显示。

例如,假定您希望使开始日期和结束日期与应用程序显示的广告进行关联。完成此任务的一种方法是,将名为 <StartDate><EndDate> 的 XML 标记添加到 XML 广告文件中。对于每个广告,XML 广告文件都会包含与如下所示类似的语句:

<Ad>
    <ImageUrl>HumongousInsurance.gif</ImageUrl>
    <NavigateUrl>http://www.humongousinsurance.com</NavigateUrl>
    <AlternateText>Trade: Humongous Insurance</AlternateText>
    <Keyword>insurance</Keyword>
    <Impressions>80</Impressions>
     <StartDate>6/27/01</StartDate>
     <EndDate>6/29/01</EndDate>
</Ad>

AdCreated 事件的事件处理程序必须具有类型为 AdCreatedEventArgs 的参数。通过此参数,事件处理程序可以访问 <Ad></Ad> 元素之间的所有 XML 标记。由于本示例中的 <StartDate><EndDate> 节被添加到 <Ad> </Ad> 标记内,因此事件处理程序可以读取这些标记的内容,如以下 C# 程序段所示。

private void AdCreatedEventHandler(Object sender, AdCreatedEventArgs e)
{
    String startDate = (String) e.AdProperties["StartDate"];
    String endDate = (String) e.AdProperties["EndDate"];
    // Additional code to process the dates goes here.
}

在事件处理程序获得广告的开始日期和结束日期之后,它可以将这些日期与当前日期进行比较,确定是否应该显示该广告横幅。如果事件处理程序确定不应该显示该广告横幅,则它可以重写 XML 文件中 <ImageUrl><NavigateUrl> 标记内的信息。

由于 XML 规则允许创造所需要的任何 XML 标记,因此应用程序可以将这一方法应用于希望分配给广告的几乎任何属性。例如,通过将 <StartTime><EndTime> 标记分配给 XML 文件中的每个广告,应用程序就可以在上午显示某些广告,而在下午显示其他广告。

另外,AdRotator 控件还支持对它的某些属性进行数据绑定。特别是,应用程序可以将 AdvertisementFile 属性绑定到包含广告文件名称的数据源。在运行应用程序的同时,可以更改数据源中的文件名。例如,在一天当中,数据源包含的广告文件的 URL 可以先是应用程序在上午显示的广告的 URL。在晚些时候数据源再包含在下午显示的广告的 URL。

请参见

AdRotator 控件 | AdRotator 类 | 添加和配置 AdRotator 控件 | 重写属性 | Form 控件介绍 | Panel 控件介绍


标签:N/A

 

在线学习答案查询入口
微信扫码联系
微信扫码联系