AdRotator

<< Click to Display Table of Contents >>

Navigation:  ASP.NET > ASP Controls >

AdRotator

Previous pageReturn to chapter overviewNext page

Muito simples. Faça, rode e pressione F5 várias vezes

 

Exemplo 1 - carregando de um xml

 

Default.aspx

 

<asp:AdRotator ID="AdRotator1" runat="server" AdvertisementFile="~/anuncios.xml" />

 

Anuncios.xml

 

<?xml version="1.0" encoding="utf-8" ?>

<Advertisements>

 <Ad>

   <ImageUrl>http://www.teclasap.com.br/blog/wp-content/uploads/2010/11/cool.jpg</ImageUrl>

   <NavigateUrl>http://twitter.com/</NavigateUrl>

   <Impressions>3</Impressions>

 </Ad>

 <Ad>

   <ImageUrl>http://www.biciaventura.pt/WebRoot/StorePT/Shops/ea6565/48F0/826A/25E2/8064/DE3B/52DF/A338/A729/flow_cool_0027__0027_.jpg</ImageUrl>

   <NavigateUrl>http://www.terra.com.br/portal/</NavigateUrl>

   <Impressions>1</Impressions>

 </Ad>

 <Ad>

   <ImageUrl>http://www.sunna.info/souwar/data/media/20/1048569532smiley_cool.jpg</ImageUrl>

   <NavigateUrl>http://google.com/</NavigateUrl>

   <Impressions>1</Impressions>

 </Ad>

</Advertisements>

 


 

Exemplo 2 - carrega de uma base mySQL

 

Pode-se carregar o rotator de um banco de dados usando-se as propriedades:

 

Default.aspx

 

  <form id="form1" runat="server">

  <div>

      <asp:AdRotator ID="AdRotator1" runat="server" AlternateTextField="texto_alternativo" ImageUrlField="url_imagem"

              NavigateUrlField="url_destino" />

  </div>

  <asp:Timer ID="Timer1" runat="server" Interval="3000" ontick="Timer1_Tick"></asp:Timer>

  <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>

  </form>

 

Default.aspx.cs

 

using System;

using System.Data;

using MySql.Data.MySqlClient;

 

public partial class _Default : System.Web.UI.Page

{

  protected void Page_Load(object sender, EventArgs e)

   {

      if (!IsPostBack)

       {

           AdRotator1.DataSource = FetchAdsFromDB();

           AdRotator1.DataBind();

       }

   }

 

  private DataTable FetchAdsFromDB()

   {

      DataTable dt = new DataTable();

      MySqlConnection con = new MySqlConnection("server=localhost;User Id=root;Password=123456; Persist Security Info=True;database=base_propagandas");

      MySqlDataAdapter da = new MySqlDataAdapter("select text_alternativo, url_imagem, url_destino, probabilidade as Impressions from tb_propaganda", con);

       da.Fill(dt);

      return dt;

   }

 

  protected void Timer1_Tick(object sender, EventArgs e)

   {

       AdRotator1.DataSource = FetchAdsFromDB();

       AdRotator1.DataBind();

   }

}

 

Observação

 

Aparentemente (segundo pesquisa em fóruns) o Impressions não tem efeito quando dados carregados de base.