Yazılımcının Günlüğü | YazilimGunlugu.Com
Arama
Makale Kategorileri
Üye Girişi
Şuanki online üyeler()
Aktif üye bulunmamaktadır.


Adrotator Web Kontrolü

Yazar: ismail aktaş

Kategori: ASP.NET

Eklenme Tarihi: 08.06.2007 07:19:05

Merhabalar, Adrotator, Klasik Asp 3.0’ dan da hatırladığımız reklam gösterimi amacıyla kullanılan web kontrolüdür. Klasik Asp de reklam tanımları için text dosyası kullanılırken, .Net ortamında bu işlem için xml dosya kullanılmaktadır.
Adrotator Web Kontrolü

Merhabalar,
Adrotator, Klasik Asp 3.0’ dan da hatırladığımız reklam gösterimi amacıyla kullanılan web kontrolüdür. Klasik Asp de reklam tanımları için text dosyası kullanılırken, .Net ortamında bu işlem için xml dosya kullanılmaktadır.

Reklam bilgilerinin tanımlandığı banners.xml adlı dosyamızı ben şu şekilde tanımladım.

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

<Advertisements>

<Ad>

<ImageUrl>logolar/ismaillogo.jpg</ImageUrl>

<NavigateUrl>http://www.ismailaktas.com</NavigateUrl>

<AlternateText>Uygulama Geliştirici</AlternateText>

<Keyword>VB, VB.Net, ASP, SQL</Keyword>

<Impressions>95</Impressions>

<AciklamaAlani>İsmail AKTAŞ Kişisel Web Sitesi</AciklamaAlani>

</Ad>

<Ad>

<ImageUrl>logolar/developerlogo.gif</ImageUrl>

<NavigateUrl>http://www.developer.gen.tr</NavigateUrl>

<AlternateText>Developerların buluşma noktası</AlternateText>

<Keyword>ASP, VB, VB.NET, C#, .NET, ASP.NET, ADO.NET </Keyword>

<Impressions>70</Impressions>

<AciklamaAlani>Developer.Gen.Tr</AciklamaAlani>

</Ad>

<Ad>

<ImageUrl>logolar/akagunduzlogo.gif</ImageUrl>

<NavigateUrl>http://www.akagunduz.com</NavigateUrl>

<AlternateText>Web Developer</AlternateText>

<Keyword>ASP, .NET, PhotoShop, Flash</Keyword>

<Impressions>60</Impressions>

<AciklamaAlani>Evren Akagündüz Kişisel Web Sitesi</AciklamaAlani>

</Ad>

<Ad>

<ImageUrl>logolar/idexilogo.gif</ImageUrl>

<NavigateUrl>http://www.idexi.com</NavigateUrl>

<AlternateText>idexi.com</AlternateText>

<Keyword>Yazılım, Tasarım, Animasyon,</Keyword>

<Impressions>45</Impressions>

<AciklamaAlani>idexi.com</AciklamaAlani>

</Ad>

</Advertisements>



Xml dosyamızdaki tüm elemanlar <Advertisements> kök elemanı altındadır. Herbir reklamın bilgileri ise <Ad> alt eleman içerisindeki düğümlerde bulunmakta. Şimdi kısaca banners.xml dosyamızdaki düğümlere ve niteliklere kısaca bakalım.

ImageUrl : Resmin url yada path bilgisidir. Web dizinindeki alt yada üst klasörde olabilir.
NavigateUrl : Banner yada resme tıklanıldığında, veyahut resim yüklenmez ise Alternatetext e tıklanıldığında gönderilecek web (url) adresi.
AlternateText : Resmin üzerine gelindiğinde çıkan yada resim yüklenmediğinde resmin olması gereken yerde görünen bilgilendirici yazıdır.
Keyword : Asıl amacı birçok kategoride reklam alan web sitelerinin kategori bazında filtreleme yapmasına olanak sağlamaktır. İlgili reklamın içerdiği anahtar kelimeler bu alana yazılabilir. Ayrıca reklamlarınız arasında kategorilendirme yapıyorsanız reklamlarınızı birbirinden ayırmak amaçlı olarak da bu alanı kullanabilirsiniz.
Impressions : Gösterim sıklığıdır. Hangi reklamın impressions sayısı fazla ise, o reklam daha fazla görüntülenir.
AciklamaAlani : Bu benim kendi koyduğum bir düğümdür. Kendimize ait açıklama alanı/alanları ekleyebiliriz ve bu sayede reklam hakkında kendi istediğimiz açıklama bilgilerini alabiliriz. İhtiyaç duyacağımız herhangi bir bilgiyi bu şekilde saklayabiliriz.

Şimdi reklamlarımızı içeren banners.xml isimli dosyamızı projemizde kullanalım.
Öncelikle yeni bir web site projesi açıp default.aspx sayfamıza banners.xml dosyamızı yukarıdaki gibi oluşturalım.






Bu şekilde banners.xml dosyamızı projemize dahil ettikten sonra, içeriğini sayfa başındaki xml dosyasının içeriğine sadık kalarak düzenleyebilirsiniz.
Xml dosyamızı projemize eklediğimize ve içeriğini oluşturduğumuza göre bir satır kod ile bu reklamları nasıl ekrana basabileceğimize bakabiliriz.

Öncelikle projemize bir Adrotator kontrolü ekliyoruz



<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >

<head runat="server">

<title>Untitled Page</title>

</head>

<body>

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

<div>

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

</div>

</form>

</body>

</html>



Bu şekilde reklam bannerlarımızı impressions sayısındaki gösterim sıklığına göre ekrana basabiliriz. Şimdi Xml sayfamızdan her reklam için AciklamaAlani ‘ndan bilgiyi nasıl çekeceğimizi görelim.

Adrotator kontrolüne ait bir tane olay(event) vardır. Bu olay(event) sayesinde AciklamaAlani düğümünden verileri çekebiliyor olacağız.
Adrotator kontrolümüz AdCreated olayını kullanacağız.

AciklamaAlani düğümündeki metni ekranda görebilmek için sayfamıza bir tane label kontrolü ekliyoruz.



Daha sonra kodumuzu yazıyoruz.

Protected Sub AdRotator1_AdCreated(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.AdCreatedEventArgs) Handles AdRotator1.AdCreated

Label1.Text = e.AdProperties.Item("AciklamaAlani").ToString

End Sub



Şimdi uygulamızı çalıştırıp reklam bannerlarımızın ekranda nasıl göründüğünü ve kendi eklediğimiz AciklamaAlani düğümünde yazılan metnin ekrana nasıl basıldığını görelim.



Sayfayı her yenilediğimizde, impressions sayılarına göre reklamlar gösterilecektir.
Adrotator kontrolü sadece xml dosyası ile kullanılmayadabilir, xml dosyası dışında bir veritabanı ile de ilişkilendirebilir.


Kısa bir örnek kod ile açıklayacak olursak;


Protected Sub form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles form1.Load

'Veritabanı baglantısı kuruluyor.

Dim connstr As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("App_Data/db.mdb")

Dim objconn As New OleDbConnection(connstr)

objconn.Open()

'Adrotator kontrolüne yüklenecek veriler çekiliyor.

Dim objda As New OleDbDataAdapter("Select * from tblreklamlar", objconn)

Dim objds As New DataSet

objda.Fill(objds)

'Adrotator kontrolüne dataset objesi datasource olarak atanıyor.

AdRotator1.DataSource = objds.Tables(0)

'Veritabanından alınacak field lar Adrotator kontrolüne ekleniyor.

AdRotator1.AlternateTextField = "alternatiftextalani"

AdRotator1.ImageUrlField = "resimurlalani"

AdRotator1.NavigateUrlField = "gidilecekadresalani"

'Bind islemi ile veriler Adrotator kontrolüne yükleniyor.

AdRotator1.DataBind()

'Objeler kapatılıyor.

objds.Dispose()

objda.Dispose()

objconn.Close()

End Sub



Bu şekilde Adrotator kontrolümüzü veritabanını ile ilişkilendirerek bannerların veritabanından alınan bilgilere göre görüntülenmesini sağlayabiliriz.

Umarım faydalı olmuştur.

  • Makalenin kaynak kodlarına ulaşmak için buraya tıklayınız.

    İsmail AKTAŞ
  • Yazar Hakkında Yorum Yok Yorum Yaz Yazara ait diğer Makaleler
    Tema
    Anket
    ASP.NET MVC'yi Projeleriniz de kullandınız mı?


    En Çok Okunan Makaleler
    En Son Eklenen Makaleler
    Soru Merkezinde Bekleyenler
    Ana Sayfa | Hakkımızda | Editörler | Yazarlar | RSS RSS | İletişim
    Yazılım Günlüğü 2007-2009 © Tüm Hakları Saklıdır.