ASP.NET Adrotator Kontrolü Kullanımı

AdRotator kontrolü yapmış olduğumuz web uygulamalarında rastgele olarak reklam resimlerinin gösterilmesi için kullanılabilir. AdRotator kontrolünü bir XML dosyası veya veritabanı ile birlikte kullandığımız için yönetimi ve üzerindeki değişiklikleri de yapmak oldukça kolaydır. Böylece istediğimiz özelliğini değiştirebiliriz.

AdRotator kontrolünü biz üç farklı yöntemle kullanacağız.

1.XML dosya ile;

2.SqldataSource nesnesi ile;

3.ADO.NET Entity Data Model ile;

Başlamadan önce Adrotatorun önemli özelliklerini açıklayalım;

ImageURL : Resim için kullanılacak olan dosyanın nerede saklandığını burada belirtilir.

NavigateURL : Kullanıcılar resme tıkladıklarında yönlenecekleri adresi burada belirtilir..

AlternateText : Kullanıcı browserinde resim yüklenemediğinde görülecek olan yazıyı burada belirtilir.

Keyword : Resim için tanımlanacak anahtar kelimeler burada yer alabilir, böylelikle kategorilendirme vs yapılabilir.

Impressions : Bu özellik ise ilgili resmin görünme sıklığını belirlemek amacı ile kullanılabilir.

Öncelikle resimler isimli bir klasör oluşturdum ve içine dört adet resim attım.

1.XML dosya ile;

Öncelikle proje üzerinde sağ tık yapıp aşağıdaki gibi reklam isimli xml dosyamızı oluşturalım.


Xml dosya içeriğini şu şekilde oluşturalım.
<?xml version="1.0" encoding="utf-8" ?>
<Advertisements>
  <Ad>
    <ImageUrl>~/Resimler/ad1.jpg</ImageUrl>
    <NavigateUrl>https://www.google.com.tr</NavigateUrl>
    <AlternateText>Birinci Resim</AlternateText>
    <Keyword>Arama Motoru</Keyword>
    <Impressions>2</Impressions>
  </Ad>
  <Ad>
    <ImageUrl>~/Resimler/ad2.jpg</ImageUrl>
    <NavigateUrl>https://covid19.saglik.gov.tr</NavigateUrl>
    <AlternateText>İkinci Resim</AlternateText>
    <Keyword>Sağlık</Keyword>
    <Impressions>3</Impressions>
  </Ad>
  <Ad>
    <ImageUrl>~/Resimler/ad3.jpg</ImageUrl>
    <NavigateUrl>http://www.eba.gov.tr/anasayfa</NavigateUrl>
    <AlternateText>Üçüncü Resim</AlternateText>
    <Keyword>Eğitim</Keyword>
    <Impressions>3</Impressions>
  </Ad>
  <Ad>
    <ImageUrl>~/Resimler/ad4.jpg</ImageUrl>
    <NavigateUrl>https://www.veliofkeli.com</NavigateUrl>
    <AlternateText>Dördüncü Resim</AlternateText>
    <Keyword>Kişisel Blog</Keyword>
    <Impressions>3</Impressions>
  </Ad>
</Advertisements>
Default.aspx  dosyamızı şu şekilde tasarlayalım.
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
        <div>
          <asp:AdRotator ID="AdRotator1" runat="server" AdvertisementFile="~/reklam.xml" />
        </div>
    </form>
</body>
</html>
Ama bu işlem sonucunda sayfa refresh olduğunda resim değişiyor dikkat ederseniz. Sayfamıza ScriptManager, UpdatePanel ve Timer ekleyelim, eklenen nesneleri koyu olarak belirttim.
<div>
    <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
    <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
        <ContentTemplate>
            <asp:Timer runat="server" Interval="2000" ID="Zaman"></asp:Timer>
            <asp:AdRotator ID="AdRotator1" runat="server" AdvertisementFile="~/reklam.xml" />
        </ContentTemplate>
    </asp:UpdatePanel>
</div>
Çalıştırırsanız  resimlerin Timer İnterval değerine göre 2000ms(2 saniye) de bir değiştiğini görürsünüz.

2.SqldataSource nesnesi ile;
Öncelikle veritabanımızı oluşturalım ve veri girelim .Alan isimleri Adrotattor ile ilişkilidir lütfen değiştirmeyin



Öncelikle forma Toolbox Data bölümünden bir SqldataSource yerleştirin ve veritabanına şurada anlattığım şekilde bağlanın.
Web Formumuzu şu şekilde düzenleyelim.
<div>
    <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
    <asp:UpdatePanel ID="UpdatePanel1" runat="server">
        <ContentTemplate>
            <asp:AdRotator ID="AdRotator1" runat="server" DataSourceID="SqlDataSource1" />
            <asp:Timer ID="Zaman" runat="server" Interval="2000" OnTick="Zaman_Tick" ></asp:Timer>
        </ContentTemplate>
    </asp:UpdatePanel>
    <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:AdRotatorDBConnectionString2 %>" SelectCommand="SELECT * FROM [ReklamTBL]"></asp:SqlDataSource>
</div>
Ve Timer nesnemizin Tick olayına şu kodu yazalım.
    protected void Zaman_Tick(object sender, EventArgs e)
    {
        SqlDataSource1.SelectCommand = "SELECT * FROM ReklamTBL";
    }
Evet projeyi çalıştırıp test edelim.

3.ADO.NET Entity Data Model ile;
Öncelikle şurada anllatığım şekilde Modelimizi oluşturalım;
Web Formumuzu Şöyle tasarlayalım.
<div>
    <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
    <asp:UpdatePanel ID="UpdatePanel1" runat="server">
        <ContentTemplate>
            <asp:AdRotator ID="AdRotator1" runat="server"  />
            <asp:Timer ID="Zaman" runat="server" Interval="2000" OnTick="Zaman_Tick" ></asp:Timer>
        </ContentTemplate>
    </asp:UpdatePanel>
</div>
Kod bölümü ise şu şekilde;
   AdRotatorDBEntities db = new AdRotatorDBEntities();
    protected void Page_Load(object sender, EventArgs e)
    {

        AdRotator1.DataSource = db.ReklamTBL.ToList();
        AdRotator1.DataBind();
    }

    protected void Zaman_Tick(object sender, EventArgs e)
    {
        AdRotator1.DataSource = db.ReklamTBL.ToList();
        AdRotator1.DataBind();
    }
Evet üç yöntemle Adrotator nesnesini anlatmaya çalıştım. Umarım faydalı olur 


Etiketler
Reklam Banner Adrotator image url Xml
Mesaj Yaz