分享
 
 
 

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

王朝学院·作者佚名  2009-11-20
窄屏简体版  字體: |||超大  

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

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有