博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

.NET基础之AdRotator广告控件

Posted on 2009-05-19 11:05  shanymen  阅读(877)  评论(0编辑  收藏  举报

该控件需要XML文件来存放广告信息,并自动对XML文件中的广告进行循环处理,每刷新一次页面改变一次显示内容。可以对广告进行加权以控制横幅的优先级,从而使某些广告的显示频率高于其他广告。 对于广告显示记数这个问题,可以在AdCreated这个事件中解决,但是要计算点击记数的话需要重新做一个页,让这个页去完成你的修改数据库记录以及重定向了.在AdCreated事件中,还可以根据既定的时间来控制广告条目是否显示。
注意:切记XML文件的格式以及节点的大小写都不能忽略!!

XML文件格式

元素

说明

<ImageUrl>

图像文件的绝对或相对 URL(可选)。

<NavigateUrl>

当用户单击公布时要链接到的页的 URL(可选)。
注意:如果未设置此元素,则定位点标记上将不会呈现 HRef 属性。

<AlternateText>

当由 ImageUrl 属性指定的图像不可用时替换该图像的文本显示(可选)。在某些浏览器中,该文本也显示为公布的 ToolTip

<Keyword>

可用作筛选依据的公布类别(如“computers”)(可选)。

<Impressions>

指示公布在轮换安排中相对于文件中其他公布的重要性的数字(可选)。数字越大,显示该公布的频率越高。XML 文件中所有 <Impressions> 值的总和不能超过 2,047,999,999。否则,AdRotator 控件将引发运行时异常。

<StartDate> 可选项,为广告开始展示时间。
<EndDate> 可选项,为广告结束展示时间。

AdRotator控件数据绑定
控件中有AdvertisementFile(直接指定xml文件),DataMember(指定数据表),DataSourceID(绑定XmlDataSource控件)等三个属性,设置数据源的时候只能选择绑定其中一个。

XML文件写法
<Advertisements>
  <Ad>
    <ImageUrl>~/img/logo.gif</ImageUrl>
    <NavigateUrl>http://www.text.com</NavigateUrl>
    <AlternateText>text</AlternateText>
    <Keyword>测试</Keyword>
    <Impressions>50</Impressions> 
    <StartDate>6/27/07</StartDate>
    <EndDate>6/29/07</EndDate>
  </Ad>
  <Ad>
     …
  </Ad>
  <Ad>
    …
  </Ad>
</Advertisements>

cs代码中读取广告信息
protected void AdRotator1_AdCreated(object sender, AdCreatedEventArgs e)
{
    //图像不可用时显示的替换文字
    string url = e.AlternateText;
    //显示图像路径
    string imageurl=e.ImageUrl;
    //显示转向路径
    string navurl=e.NavigateUrl;
    string sdt = e.AdProperties["StartDate"].ToString();
    string edt = e.AdProperties["EndDate"].ToString();
    Response.Write(url+"开始日期是:"+sdt+",结束日期是:"+edt);
}