AdRotator,广告轮播 #1 -- 透过XML档来作设定。
http://www.dotblogs.com.tw/mis2000lab/archive/2008/08/04/4769.aspx
上一本ASP.NET 1.x版的书里面,我未曾放入这一节的内容。
新书(for ASP.NET 2.0/3.5版)已经包含这部份的文章(本书 3-13节)。
为了弥补上一本书的读者,这部份放在网络上公开。
[广告&团购] 新书上市-- ASP.NET专题实务(文魁出版)
3-13 AdRotator,广告轮播
广告轮播,是一个很常见的功能。从以前的ASP时代,就有类似的对象可以使用了。这一节的内容在其它计算机书都比较少见,唯有我们详细介绍三种方法来搭配 AdRotator控件,制作广告清单。
3-13-1 以XML档案做为广告清单
使用 AdvertisementFile属性来指定含有广告信息的 XML档案位置。必须将 XML档案置于相同的网站中。基于部署和安全性目的,强烈建议您将这个档案置于同一个 Web应用程序中(最好放在 /App_Data目录里面,因为此目录默认值为「拒绝因特网存取任何类型的档案」,非常安全)。只有当应用程序具备足够的信任权限时,才有可能存取同一网站上,位于不同应用程序中的 XML档案。
您可以将这个属性设定为绝对路径,或是相对于 XML档案的路径。使用相对路径来简化部署。如果您使用相对路径,则该路径是相对于包含 AdRotator控件之网页或使用者控件的位置。
AdvertisementFile属性为选择性 (Optional) 的。您也可以用程序设计方式,在后置程序代码里面,AdRotator控件的AdCreated事件中设定广告。
XML文件包含下列属性,只有 ImageUrl属性是必要的。这些属性也是XML文件里面的标签名称。
Attribute | 说 明 |
ImageUrl | 要显示的影像 URL。 (重点!必填字段!) |
Height | 影像的高度,以”像素”为单位 (选择项)。 |
Width | 影像的宽度,以”像素”为单位 (选择项)。 |
NavigateUrl | 在按下 AdRotator控件时,要巡览到的网页 URL。 |
AlternateText | 如果没有影像时,所要显示的文字。 在某些浏览器上,这个文字显示为工具提示。 |
Keyword | 广告的分类。为 AdRotator控件所使用,以筛选特定分类的广告清单。 |
Impressions | 指示在 XML 档中广告相对于其它广告被显示的频率的值。所有的 Impression总值不能超过 2,048,000,000 - 1。 简单的说,数字越大,重要性越高。例如:有三则广告,分别设定为1、2、3,则以3的重要性最高,播出的机率最大。计算方法是 3/(1+2+3) =50%,表示三则广告中,这一则广告被播出的机率是50%。 |
资料来源:微软MSDN网站。
请先设计一个XML档案,这是一个纯文字文件而已,但档案的格式必须跟下面的范例一样。范例 AD.xml内容如下:
<?xml version="1.0" encoding="utf-8" ?> <Advertisements xmlns="http://schemas.microsoft.com/AspNet/AdRotator-Schedule-File"> <Ad> <ImageUrl>~/MIS2000Lab_book_image/L331.jpg</ImageUrl> <NavigateUrl>http://www.taconet.com.tw/mis2000lab/</NavigateUrl> <AlternateText>Linux操作系统</AlternateText> <Impressions>100</Impressions> </Ad> <Ad> <ImageUrl>~/MIS2000Lab_book_image/L339.jpg</ImageUrl> <NavigateUrl>http://www.taconet.com.tw/mis2000lab/</NavigateUrl> <AlternateText>Linux架站彻底研究</AlternateText> <Impressions>50</Impressions> </Ad> </Advertisements> |
上面有两个AD标签,每一个AD标签就是一则广告的内容。上面的范例表示:我们有两个广告要进行轮播。XML里面的格式说明,请参照下面的解释。
<Ad> <ImageUrl>图片的位置(目录与路径) </ImageUrl> <NavigateUrl> 这则广告要连接到哪个网址</NavigateUrl> <AlternateText>名 称</AlternateText> <Impressions>重要性、播出机率</Impressions> </Ad> |
如果XML文件里面有正体中文字,最好把XML文件面里面,第一行的编码改成----
<?xml version="1.0"encoding="Big5" ?>
本范例的重点在于AdRotator的「AdvertisementFile」属性设定,直接设为 AD.xml档案路径即可(如下图)。
另外一个重要的属性是「target」,用法跟传统HTML码的<a>…</a>超级链接标签一样。例如:
target = “_blank”,表示另外开启新的浏览器窗口,来呈现这个网址。
以下三个设定,都跟HTML网页的框架(Frame)有关。
target = “_top”,表示取消目前框架,用整页的画面来呈现这个网址。
target = “_parent”,表示用父框架的画面来呈现这个网址。
target = “_self”,表示用目前的框架来呈现这个网址。
程序执行结果:
以下是出版的新书内容:本文范例已经收录在书本!
ASP.NET案例精编(清华大学出版社 / 作者MIS2000Lab)
http://www.china-pub.com/46063
2009/5/15上市
市场价 :¥59.80 RMB(人民幣)