asp.net2.0 AdRotator

AdRotator广告控件:

   1. MSDN中的概述:
Web 服务器控件提供了一种在 ASP.NET 网页上显示广告的简便方法。该控件会显示您提供的图形图像,如 .gif 文件或类似图像。当用户单击广告时,系统会将他们重定向到指定的目标 URL。该控件会从您使用数据源(通常是 XML 文件或数据库表)提供的广告列表中自动读取广告信息,如图形文件名和目标 URL。
         AdRotator 控件会随机选择广告,每次刷新页面时都将更改显示的广告。广告可以加权以控制广告条的优先级别,这可以使某些广告的显示频率比其他广告高。也能编写在广告间循环的自定义逻辑。
广告信息可来自各种源,如下所示:
  • XML 文件:可以将广告信息存储在 XML 文件中,其中包含对广告条及其关联属性的引用。

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

  • 自定义逻辑:可以为 事件创建一个处理程序,并在该事件中选择一条广告。

   2. 针对旧的设计模式中常见问题和使用情况:
         (1) 无法追踪广告的点击响应。
         (2) 无法快速有效的更换广告的内容。
         (3) 无法有权重的显示不同的广告链接。

   3. 如何:使用AdRotator Web 服务器控件显示 XML 文件中的广告:
          Web 服务器控件可从有一条或多条广告记录的数据源读取广告信息。存储广告条图像位置、用于重定向的 URL 以及关联属性的一个方法是将这些信息放入一个 XML 文件中。通过使用 XML 文件格式,可以创建和维护一个广告清单,而不必在对某一广告进行更改时更改应用程序的代码。您可以将信息存储在一个 XML 文件中,然后将 AdRotator 控件绑定到该文件。
         AdRotator 控件的所有属性都是可选的。XML 文件中可以包括下列属性:

  • ImageUrl   要显示的图像的 URL。

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

  • AlternateText   鼠标移动到该广告图片上时浮动提示窗口显示的文本或者在广告图片不能显示时出现的提示文本。

  • Keyword   可用于筛选特定广告的广告类别关键字。

  • Impressions   一个指示广告的可能显示频率的数值(加权数值)。如果同时存在很多条广告需要发布,则频率值大的将会得到更多的显示机会。在XML 文件中,所有 Impressions 值的总和不能超过 2,048,000,000 - 1。

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

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

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

注意:

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


      (2) 向文件中添加下列 XML 元素:
ContractedBlock.gif ExpandedBlockStart.gif
None.gif<Advertisements xmlns="http://schemas.microsoft.com/AspNet/AdRotator-Schedule-File">
None.gif
</Advertisements>
          注意:

<Advertisements></Advertisements>表示其中的内容是广告发布链接。


      (3) 在 Advertisements 元素中,为每个要包括在广告列表中的广告创建一个 Ad 元素,然后保存文件。
ContractedBlock.gif ExpandedBlockStart.gif
None.gif<Ad>
None.gif  
<ImageUrl>~/index_logo.gif</ImageUrl>
None.gif  
<NavigateUrl>http://images/www.sohu.com</NavigateUrl>
None.gif  
<AlternateText>sohu</AlternateText>
None.gif  
<Keyword>Computers</Keyword>
None.gif  
<Impressions>10</Impressions>
None.gif  
</Ad>
None.gif
None.gif  
<Ad>
None.gif    
<ImageUrl>~/sina_logo.gif</ImageUrl>
None.gif    
<NavigateUrl>http://www.sina.com</NavigateUrl>
None.gif    
<AlternateText>sina</AlternateText>
None.gif    
<Keyword>Computers</Keyword>
None.gif    
<Impressions>30</Impressions>
None.gif  
</Ad>
None.gif
None.gif  
<Ad>
None.gif    
<ImageUrl>~/163_logo.gif</ImageUrl>
None.gif    
<NavigateUrl>http://www.163.com</NavigateUrl>
None.gif    
<AlternateText>163</AlternateText>
None.gif    
<Keyword>Computers</Keyword>
None.gif    
<Impressions>60</Impressions>
None.gif  
</Ad>
       注意:

每对<Ad></Ad>表示一条专用的广告发布数据源信息。以上是包含三条广告信息的数据源文件。由于权重明显不同,有心的朋友可以大概观察一下每张广告图片出现的次数和对应权重之间的关系应该是正比。


      (4) 在 ASP.NET 网页上要显示广告的位置放置一个 AdRotator Web 服务器控件。
            系统自动生成Html代码如下:
ContractedBlock.gif ExpandedBlockStart.gif
None.gif<asp:AdRotator ID="AdRotator1" runat="server" />
      (5) 两种方法配置广告控件的数据源:
            第一种方法:直接在代码中或AdRotator控件的属性列表中设置数据源文件(XML文件)的位置:
ContractedBlock.gif ExpandedBlockStart.gif
None.gif<asp:AdRotator ID="AdRotator1" runat="server" AdvertisementFile="~/App_Data/ads.ads"/>
注意:

建议您使用相对 URL,以使应用程序的可移植性更好。使用类似 ~\App_Data\filename.ad 的语法。

            
            第二种方法:配置XML数据源控件,将AdRotator空间的DataSourceID属性设置为新建的XML数据源控件的ID名称。
           注意:

该方法需要对asp.net数据邦定控件的知识有一定的了解,而且,应确保AdRotator控件的AdvertisementFile属性为空,否则该属性将与DataSourceID属性冲突。


                        首先:点击Adrotator控件右上角的黑色小三角,出现快捷属性设置菜单,在其中第一项的下拉列表项中选择新建数据源。
                        其次:在弹出的数据源窗口中选择XML文件数据源,再接下来的窗口中通过浏览方式找到保存广告信息的XML文件。
                                    系统自动生成Html代码如下:
ContractedBlock.gif ExpandedBlockStart.gif
None.gif<asp:AdRotator ID="AdRotator1" runat="server" DataSourceID="XmlDataSource1"/>
None.gif        
<asp:XmlDataSource ID="XmlDataSource1" runat="server" DataFile="~/App_Data/ads.ads">
None.gif        
</asp:XmlDataSource>

   4. 如何:使用 AdRotator Web 服务器控件显示数据库中的广告:
      AdRotator 控件可从包含一条或多条广告记录的数据源读取广告信息。除了可以为广告信息创建一个 XML 文件之外,还可以将广告信息存储到一个数据库表中。该表需要一种 AdRotator 控件可以读取的特定架构。您可以将广告信息存储在具有特定架构的数据库表中,然后在运行时使用数据源控件读取广告记录。如果有一个带有广告信息的现有表,则可以将该表的架构映射到 AdRotator 控件所需的字段。
      只要数据库有对应的数据源控件,就可以将广告信息存储在任何类型的数据库中。
      (1) 创建广告数据库表:(本例使用SQL Server 2000数据库)
列名称 数据类型 说明

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)

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

      再将广告信息数据加入该表中。
      (2) 从数据库显示广告:
            首先:点击Adrotator控件右上角的黑色小三角,出现快捷属性设置菜单,在其中第一项的下拉列表项中选择新建数据源。
            其次:在弹出的数据源窗口中选择SQL数据源,再接下来的窗口中配置数据源使得数据源指向上面创建的表。经过此过程,系统自动会将

ContractedBlock.gif ExpandedBlockStart.gif
None.gif<asp:AdRotator ID="AdRotator1" runat="server" DataSourceID="SqlDataSource1"/>
None.gif        
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:Test %>" SelectCommand="SELECT * FROM [ads]"></asp:SqlDataSource>
注意:

为安全起见和程序移植性更好,建议将数据库链接字符串保存在web.config配置文件中。这里的“Test”就是在配置文件中已保存的现有链接字符串。



   至此,关于AdRotater的相关概述和使用配置方法已介绍完毕。至于以编程方式选择广告的方法请参照MSDN
中的介绍,也很简单。祝大家编程愉快!

转载于:https://www.cnblogs.com/zhangdong/archive/2006/12/28/606046.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值