<< Click to Display Table of Contents >> AdRotator |
![]() ![]() ![]() |
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.