WEB开发网
开发学院WEB开发ASP.NET ASP.NET - AdRotator Web 服务器控件概述 阅读

ASP.NET - AdRotator Web 服务器控件概述

 2009-11-19 16:52:36 来源:WEB开发网   
核心提示: AdRotator Web 服务器控件可用于显示链接到其他页的图形,要显示的图形列表和关联的目标链接将保留在数据源中,ASP.NET - AdRotator Web 服务器控件概述,如 xml 文件或数据库, 1、方案 AdRotator Web 服务器控件提供一种在 asp.net 网页上显示广告的方法, 在该处理
   AdRotator Web 服务器控件可用于显示链接到其他页的图形。要显示的图形列表和关联的目标链接将保留在数据源中,如 xml 文件或数据库。



1、方案

AdRotator Web 服务器控件提供一种在 asp.net 网页上显示广告的方法。该控件可显示您提供的 .gif 文件或其他图形图像。当用户单击广告时,系统会将他们重定向到指定的目标 URL。该控件会从您使用数据源(通常是 XML 文件或数据库表)提供的广告列表中自动读取广告信息,如图形文件名和目标 URL。

AdRotator 控件会随机选择广告,每次刷新页面时都将更改显示的广告。广告可以加权以控制广告条的优先级别,这可以使某些广告的显示频率比其他广告高。也能编写在广告间循环的自定义逻辑。



2、背景

AdRotator Web 服务器控件可用于显示广告图形,如 .gif 或类似图像。然后可以将用户重定向到目标 URL。图形和目标 URL 可从数据源提供,如 XML 文件。

广告信息可来自各种源,如下所示:

·XML 文件。可以将广告信息存储在 XML 文件中,此文件包含对广告横幅及其关联属性的引用。

·任何数据源控件,如 SqlDataSource 或 ObjectDataSource 控件。例如,可以将广告信息存储在数据库中,使用 SqlDataSource 控件检索广告信息,然后将 AdRotator 控件绑定到数据源控件。

自定义逻辑。可以为 AdCreated 事件创建处理程序,并在该事件过程中选择广告。



3、用于广告文件的 XML 文件格式

存储广告条图像位置、用于重定向的 URL 以及关联属性的一个方法是将这些信息放入一个 XML 文件中。通过使用 XML 文件格式,可以创建和维护一个广告清单,而不必在对某一广告进行更改时更改应用程序的代码。



4、用于广告文件的数据库架构

除了可以为广告信息创建一个 XML 文件之外,还可以将广告信息存储到一个数据库表中。该表需要一种 AdRotator 控件可以读取的特定架构。



5、通过关键字筛选广告

在广告文件中,可以通过如下方法指定广告的类别:使用 KeyWord 属性,然后将 AdRotator 控件配置为根据您指定的筛选条件显示广告。例如,如果一个广告文件同时包含银行和硬件商店两个类别的广告,而您可能只希望页面显示与银行有关的广告。通过将 AdRotator 控件的 KeywordFilter 属性设置为“banks”(银行),可让该控件筛选掉硬件商店广告。

如果指定了筛选器,则会发生下面两种情况之一:

·如果 AdRotator 控件可以找到带有匹配关键字的广告,则显示一条带有该关键字的广告。

·如果不存在关键字的匹配项,则 AdRotator 控件将在浏览器中显示一幅空白图像。



6、跟踪广告响应

AdRotator 控件本身不提供收集统计信息(比如用户已点击哪些广告,某一广告的点击次数等)的方法。但是,因为可以控制广告所指向的 URL,所以可在应用程序中为广告添加跟踪逻辑。典型的实现方法是将所有广告都指向一个跟踪页,在此页上首先收集需要的统计信息,然后再跳转到广告的目标页上。



7、缓存广告

如果缓存了包含 AdRotator 控件的页面,则每当从缓存中检索该页时,AdRotator 控件都将自动执行缓存替换,将缓存的广告替换为新广告。



8、类参考

下表列出了与 AdRotator 控件相关的类。

成员
说明

AdRotator
控件的主类。

AdCreatedEventHandler
表示处理 AdRotator 控件的 AdCreated 事件的方法。

AdCreatedEventArgs
为 AdRotator 控件的 AdCreated 事件提供数据。





9、如何:使用 AdRotator Web 服务器控件显示 XML 文件中的广告

   AdRotator Web 服务器控件可从有一条或多条广告记录的数据源读取广告信息。您可以将信息存储在一个 XML 文件中,然后将 AdRotator 控件绑定到该文件。

AdRotator 控件的所有属性都是可选的。XML 文件中可以包括下列属性:

·ImageUrl  要显示的图像的 URL。

·NavigateUrl  单击 AdRotator 控件时要转到的网页的 URL。

·AlternateText  图像不可用时显示的文本。

·Keyword  可用于筛选特定广告的广告类别。

·ImPRessions  一个指示广告的可能显示频率的数值(加权数值)。在 XML 文件中,所有 Impressions 值的总和不能超过 2,048,000,000 - 1。

·Height  广告的高度(以像素为单位)。此值会重写 AdRotator 控件的默认高度设置。

·Width  广告的宽度(以像素为单位)。此值会重写 AdRotator 控件的默认宽度设置。

A、创建广告列表作为 XML 文件

·在网站的 App_Data 文件夹中创建一个新的 XML 文件。为了更好地保证安全,请将该文件的文件扩展名命名为除 .xml 之外的名称,如 .ads。

说明: 建议您将广告文件放置在 App_Data 文件夹中,原因是 ASP.NET 可防止浏览器利用该文件夹中的文件。

·向文件中添加下列 XML 元素:

<?xml version="1.0" encoding="utf-8" ?>

<Advertisements xmlns="http://schemas.microsoft.com/AspNet/AdRotator-Schedule-File">

</Advertisements>

   ·在 Advertisements 元素中,为每个要包括在广告列表中的广告创建一个 Ad 元素,然后保存文件。

下面是一个文件示例:

<?xml version="1.0" encoding="utf-8" ?>

<Advertisements xmlns="http://schemas.microsoft.com/AspNet/AdRotator-Schedule-File">

 <Ad>

  <ImageUrl>~/images/Contoso_ad.gif</ImageUrl>

  <NavigateUrl>http://www.contoso-ltd.com</NavigateUrl>

  <AlternateText>Ad for Contoso, Ltd. Web site</AlternateText>

  <Impressions>100</Impressions>

 </Ad>

 <Ad>

  <ImageUrl>~/images/Aspnet_ad.gif</ImageUrl>

  <NavigateUrl>http://www.asp.net</NavigateUrl>

  <AlternateText>Ad for ASP.NET Web site</AlternateText>

  <Impressions>50</Impressions>

 </Ad>

</Advertisements>



B、从数据库显示广告

·在 ASP.NET 网页上要显示广告的位置放置一个 AdRotator。

·将 AdRotator 控件的 AdvertisementFile 属性设置为您在前面的过程中创建的 XML 文件的路径。

说明: 建议您使用相对 URL,以使应用程序的可移植性更好。使用类似 ~\App_Data\文件名.ad 的语法。运行网页时,AdRotator 控件会读取 XML 广告文件,并选择一个广告进行显示。



10、如何:使用 AdRotator Web 服务器控件显示数据库中的广告

   AdRotator 控件可从包含一条或多条广告记录的数据源读取广告信息。您可以将广告信息存储在具有特定架构的数据库表中,然后在运行时使用数据源控件读取广告记录。如果有一个带有广告信息的现有表,则可以将该表的架构映射到 AdRotator 控件所需的字段。

只要数据库有对应的数据源控件,就可以将广告信息存储在任何类型的数据库中。



A、创建广告数据库表

·如果还没有包含广告信息的数据库表,请创建具有下列架构的表。除 ID 之外的所有列均是可选的。

说明:

提供的数据类型是 SQL Server 类型。如果使用的是不同的数据库,请替换相应的合适类型。

列名称
数据类型
说明

ID
int
这是主键。此列可给定任何名称。

ImageUrl
nvarchar(length)
要作为广告显示的图像的相对或绝对 URL。

NavigateUrl
nvarchar(length)
广告的目标 URL。如果没有提供值,则广告不是一个超链接。

AlternateText
nvarchar(length)
找不到图像时显示的文本。有些浏览器中,该文本还会作为工具提示显示出来。替换文字也用于辅助功能,以便无法看到图形的用户可以听到大声读出的说明。

Keyword
nvarchar(length)
可作为页筛选依据的广告类别。

Impressions
int(4)
一个指示广告的可能显示频率的数字。数字越大,显示该广告的频率越高。在 XML 文件中,所有 Impressions 值的总和不能超过 2,048,000,000 - 1。

Width
int(4)
图像的宽度(以像素为单位)。

Height
int(4)
图像的高度(以像素为单位)。



·如果有一个带有广告信息的现有数据库表,请设置 AdRotator 控件的下列属性,将数据库表架构映射到该控件所需的字段:

·     AlternateTextField

·     ImageUrlField

·     NavigateUrlField

·在带有广告信息的表中插入新记录。



B、从数据库显示广告

·在网页上放置一个数据源控件,如 SqlDataSource 或 accessDataSource 控件。

·使用连接字符串和查询配置数据源控件,从先前创建的数据库表选择所有记录。

·在要显示广告的 ASP.NET 网页上放置一个 AdRotator 控件。

·将 AdRotator 控件的 DataSourceID 属性设置为先前在步骤 1 中创建的数据源控件的 ID。 当网页运行时,AdRotator 控件将查询数据库,看是否有广告并选择一条广告进行显示。



11、如何:以编程方式在 AdRotator Web 服务器控件中选择广告

   使用 AdRotator Web 服务器控件,可以通过在 AdCreated 事件处理程序中创建自定义逻辑来动态选择广告。

使用 AdCreated 事件选择广告

·为 AdRotator 控件创建 AdCreated 事件处理程序。 在该处理程序中传递的第二个参数包含对要创建的广告的引用。

·设置广告对象的属性,以指定要显示的广告的图像和定位 URL。 下面的示例演示如何设置 AdCreatedEventArgs 控件的 ImageUrl、NavigateUrl 和 AlternateText 属性:

protected void AdRotator1_AdCreated (object sender,

  System.Web.UI.WebControls.AdCreatedEventArgs e)

{

  e.ImageUrl = "images/contoso_ad.gif";

  e.NavigateUrl = "http://www.contoso-ltd.com/";

  e.AlternateText = "Ad for Contoso, Ltd Web site";

}

Tags:ASP NET AdRotator

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接