=波波日志 > Asp.Net/C#/WCF > 5.11 广告控件(AdRotator)=
[转]5.11 广告控件(AdRotator)
在Web应用开发中,广告总是必不可少的。而ASP.NET为开发人员提供了广告控件为页面在加载时提供一个或一组广告。广告控件可以从固定的数据源中读取(如XML或数据源控件),并从中自动读取出广告信息。当页面每刷新一次时,广告显示的内容也同样会被刷新。
广告控件必须放置在Form或Panel控件,以及模板内。广告控件需要包含图像的地址的XML文件。并且该文件用来指定每个广告的导航连接。广告控件最常用的属性就是AdvertisementFile,使用它来配置相应的XML文件,所以必须首先按照标准格式创建一个XML文件,如图5-29所示。

图5-29 创建一个XML文件
创建了XML文件之后,开发人员并不能按照自己的意愿进行XML文档的编写,如果要正确的被广告控件解析形成广告,就需要按照广告控件要求的标准的XML格式来编写代码,示例代码如下所示。
上述代码实现了一个标准的广告控件的XML数据源格式,其中各标签意义如下所示:
?1)ImageUrl:指定一个图片文件的相对路径或绝对路径,当没有ImageKey元素与OptionalImageUrl匹配时则显示该图片。
?2)NavigateUrl:当用户单击广告时单没有NaivigateUrlKey元素与OptionalNavigateUrl元素匹配时,会将用户发送到该页面。
?3)OptionalImageUrl:指定一个图片文件的相对路径或绝对路径,对于ImageKey元素与OptionalImageUrl匹配时则显示该图片。
?4)OptionalNavigateUrl:当用户单击广告时单有NaivigateUrlKey元素与OptionalNavigateUrl元素匹配时,会将用户发送到该页面。
?5)AlternateText:该元素用来替代IMG中的ALT元素。
?6)KeyWord:KeyWord用来指定广告的类别。
?7)Impression:该元素是一个数值,指示轮换时间表中该广告相对于文件中的其他广告的权重。
当创建了一个XML数据源之后,就需要对广告控件的AdvertisementFile进行更改,如图5-30所示。

图5-30 指定相应的数据源
配置好数据源之后,就需要在广告控件的数据源XML文件中加入自己的代码了,XML广告文件示例代码如下所示。
运行程序,广告对应的图像在页面每次加载的时候被呈现,如图5-31所示。页面每次刷新时,广告控件呈现的广告内容都会被刷新,如图5-32所示。

图5-31 一个广告被呈现

图5-32 刷新后更换广告内容
注意:广告控件本身并不提供点击统计,所以无法计算广告是否被用户点击或者统计用户最关心的广告。
广告控件必须放置在Form或Panel控件,以及模板内。广告控件需要包含图像的地址的XML文件。并且该文件用来指定每个广告的导航连接。广告控件最常用的属性就是AdvertisementFile,使用它来配置相应的XML文件,所以必须首先按照标准格式创建一个XML文件,如图5-29所示。

图5-29 创建一个XML文件
创建了XML文件之后,开发人员并不能按照自己的意愿进行XML文档的编写,如果要正确的被广告控件解析形成广告,就需要按照广告控件要求的标准的XML格式来编写代码,示例代码如下所示。
+展开
-XML
<?xml version="1.0" encoding="utf-8" ?>
<Advertisements>
[<Ad>
<ImageUrl></ImageUrl>
<NavigateUrl></NavigateUrl>
[<OptionalImageUrl></OptionalImageUrl>]*
[<OptionalNavigateUrl></OptionalNavigateUrl>]*
<AlternateText></AlternateText>
<Keyword></Keyword>
<Impression></Impression>
</Ad>]*
</Advertisements>
<Advertisements>
[<Ad>
<ImageUrl></ImageUrl>
<NavigateUrl></NavigateUrl>
[<OptionalImageUrl></OptionalImageUrl>]*
[<OptionalNavigateUrl></OptionalNavigateUrl>]*
<AlternateText></AlternateText>
<Keyword></Keyword>
<Impression></Impression>
</Ad>]*
</Advertisements>
上述代码实现了一个标准的广告控件的XML数据源格式,其中各标签意义如下所示:
?1)ImageUrl:指定一个图片文件的相对路径或绝对路径,当没有ImageKey元素与OptionalImageUrl匹配时则显示该图片。
?2)NavigateUrl:当用户单击广告时单没有NaivigateUrlKey元素与OptionalNavigateUrl元素匹配时,会将用户发送到该页面。
?3)OptionalImageUrl:指定一个图片文件的相对路径或绝对路径,对于ImageKey元素与OptionalImageUrl匹配时则显示该图片。
?4)OptionalNavigateUrl:当用户单击广告时单有NaivigateUrlKey元素与OptionalNavigateUrl元素匹配时,会将用户发送到该页面。
?5)AlternateText:该元素用来替代IMG中的ALT元素。
?6)KeyWord:KeyWord用来指定广告的类别。
?7)Impression:该元素是一个数值,指示轮换时间表中该广告相对于文件中的其他广告的权重。
当创建了一个XML数据源之后,就需要对广告控件的AdvertisementFile进行更改,如图5-30所示。

图5-30 指定相应的数据源
配置好数据源之后,就需要在广告控件的数据源XML文件中加入自己的代码了,XML广告文件示例代码如下所示。
+展开
-XML
<?xml version="1.0" encoding="utf-8" ?>
<Advertisements>
<Ad>
<ImageUrl>http://www.shangducms.com/images/cms.jpg</ImageUrl>
<NavigateUrl>http://www.shangducms.com</NavigateUrl>
<AlternateText>我的网站</AlternateText>
<Keyword>software</Keyword>
<Impression>100</Impression>
</Ad>
<Ad>
<ImageUrl>http://www.shangducms.com/images/hello.jpg</ImageUrl>
<NavigateUrl>http://www.shangducms.com</NavigateUrl>
<AlternateText>我的网站</AlternateText>
<Keyword>software</Keyword>
<Impression>100</Impression>
</Ad>
</Advertisements>
<Advertisements>
<Ad>
<ImageUrl>http://www.shangducms.com/images/cms.jpg</ImageUrl>
<NavigateUrl>http://www.shangducms.com</NavigateUrl>
<AlternateText>我的网站</AlternateText>
<Keyword>software</Keyword>
<Impression>100</Impression>
</Ad>
<Ad>
<ImageUrl>http://www.shangducms.com/images/hello.jpg</ImageUrl>
<NavigateUrl>http://www.shangducms.com</NavigateUrl>
<AlternateText>我的网站</AlternateText>
<Keyword>software</Keyword>
<Impression>100</Impression>
</Ad>
</Advertisements>
运行程序,广告对应的图像在页面每次加载的时候被呈现,如图5-31所示。页面每次刷新时,广告控件呈现的广告内容都会被刷新,如图5-32所示。

图5-31 一个广告被呈现

图5-32 刷新后更换广告内容
注意:广告控件本身并不提供点击统计,所以无法计算广告是否被用户点击或者统计用户最关心的广告。
类别:Asp.Net/C#/WCF 作者:转载 日期:2010-05-19 【评论:0】
暂时没有评论!
发表留言
百度赞助
同类热门博文
- ·IE里Cookie跨域不能..
- ·去掉隐藏asp.net编译..
- ·解决asp.net验证视图..
- ·找不到System.Web.S..
- ·web服务因URL意外地..
- ·C#2.0中,SerialPor..
- ·用C#编写ActiveX控件..
- ·用C#编写ActiveX控件..
博格Tag
- flash/flex/fcs/AIR(752)
- Asp.Net/C#/WCF(598)
- 操作系统及应用软件(376)
- JavaScript/Ajax(330)
- SQL及数据库(134)
- 黑客技术(115)
- Asp/VBScript(111)
- HTML/WML/CSS兼容/XML(102)
- PHP/apache/Perl(96)
- 网站排名及优化(96)
- 其他(75)
- showbo日志(66)
- lucene.net/分词技术(33)
- 计算机网络(26)
- 机械重工(26)
- C#设计模式(25)
- Google Maps开发(17)
- 日语学习(15)
- Canvas/VML/SVG(13)
- linux(11)
- 游戏开发(8)
- 正则表达式(5)
- Jsp/Java(4)
最新博文
- ·详解SqlConnection连..
- ·C#实现的html内容截..
- ·asp.net web.config..
- ·asp.net<%--注释--%..
- ·ASP.NET环境配置常见..
- ·asp.net防止图片盗链..
- ·Session.Abandon的使..
- ·asp中缓存cache技术..
随机博文
