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


BULLETEDLIST KONTROLU İLE MSSQL TABANLI DİNAMİK WEB MENÜ

Yazar: Yusuf Akgül

Kategori: ASP.NET

Eklenme Tarihi: 31.08.2007 18:53:40

Merhaba arkadaşlar bu makalemizde sizlere .net Teknoloji ile gelen ve standart kontroller sekmesinde yer alan bulletedlist kontrolunu kullanarak CSS den de yardım alarak MSSQL den beslenen dinamik bir web menüsü yapacağız
Öncelikle  arkadaşar menümüzü oluşturmaya  başlamadan önce sizlere bulletedlist  kontrolu  nedir ne  değildir ondan bi kısaca  bahsetmek istiyorum.

Esasında  bu  kontrolun amacı  verileri  sıralı  bir  şekilde listbox  benzeri  şekilde tutmaktır.ama  listbox dan farklı olarak salt ardışıl  kayıtlar  tutmanın yanında o kayıtlara Value'lar  vererek URL  ler aktararak  navigasyonlarda sağlayabiliriz  yada eklenen değerler üzerinde çeşitli  procedureleride rahatlıkla  çalıştırabiliriz.

Tüm bu bahsetmiş  olduğum  çalışma biçimlerini bulletedlist  kontrolünün  display mode özelliği ile  belirlenir properties içerisinden  baktığımızda  3 adet display mode  görürüz.  bunlar;

1-Text: bu modda  veriler  sadece  salt ardışıl  gösterilir.yani  verilerin sadece okunabilirlik özelliği  vardır.

 

Bu  mode'a  ait olan  kodda  aşağıdaki  gibidir.

<

asp:BulletedList ID="BulletedList1" runat="server" Height="109px" Width="111px">

<asp:ListItem>Ana Sayfa</asp:ListItem>

<asp:ListItem>Haberler</asp:ListItem>

<asp:ListItem>İletişim</asp:ListItem>

<asp:ListItem>Hakkımızda</asp:ListItem>

</asp:BulletedList>        


1-HyperLink: bu modda bulletedlist  içerisinde yer alan  verilere URL  verebiliriz


bu modda  URL ler  value kısmında  belirtilen değerden alınır

1-LinkButton:Bu  modda  tıpkı HyperLink mode'ında olduğu  gibi URL  verilebilir ancak  bunun  yanında  çeşitli  işlevlerde  çalıştırılabilir.


BulletedList  kontrolumuz  hakkında  kısa  bir  bilgi  verdikted sonra sıra  geldi  MSSQL  tabanlı  dinamik  web menu  kontrolumuzu  oluşturmaya. adım adım oluşturmaya çalışalım.


1.Adım:  öncelikle photoshop  programını kullanarak web menumde kullanacağımız  background image'i  oluşturuyorum.ben 23px yukseklikde ve170 px  genişlik de  aşağıdaki  image'ı oluşturdum.


2.Adım:menü  kontrolunun  CSS ile ile  biçimlendirmesini sağlamak amacıyla  formumuza ait  <head></head> arasına  aşağıdaki CSS kodlamasını  yapıyoruz.

<

style type="text/css">

#menu

{

font-family:Century Gothic;

margin:0px;

Font-size:14px;

width:200px;

}

ul

{

list-style:none;

margin:0px;

padding:0px;

}

#menu li a

{

height:23px;

voice-family:"\"}\"";

voice-family:inherit;

text-decoration:none;

}

#menu li a:link,#menu li a:visited

{

color:#000000;

display:block;

background:url(menu.jpg);

padding:3px 0 0 20px;

}

#menu li a:hover

{

color:#000000;

background:url(menu.jpg) 0 -26px;

padding:3px 0 0 20px;

}

</style>


Bu Css 'i  bulletedlist'imize  göstermek için aşağıdaki  gibi  kodumuzu  değiştiriyoruz.

<div id="menu" style="width: 154px">

<asp:BulletedList ID="BulletedList1" runat="server" DisplayMode="LinkButton" Height="111px"

OnClick="BulletedList1_Click" Width="161px">

</asp:BulletedList>

</div>

3.Adım: şimdi sıra geldi  MSSQL  veritabanı üzerinden yüklenecek olan veritabanını oluşturmaya.




4.Adım: şimdi sıra  geldi  oluşturduğumuz bu veritabanınından verileri alıp  bulletedlist içerisine  bağlamaya. bunun için aşağıdaki   fonkisyonu  yazdım.

void

bulletedmenuyap()

{

stringbaglanti = "data source=localhost;initial catalog=bl;integrated security=true;";

/*baglanti stringim*/

SqlConnectionconnection = new SqlConnection(baglanti);

SqlCommandkomut = new SqlCommand();

/*SQL sorgusu çalıştırmamı sağlamak için sqlcommand*/

komut.CommandText =

"select menuad,menulink from bl";

/*sorgumu SQLcommand nesneme aktarıyorum*/

komut.Connection = connection;

/* command nesneme baglantımı sağladım*/

SqlDataReaderoku;

/*ileriye yönlük okuma için SQLreader nesnesini kullanacam*/

bag.Open();

oku = komut.ExecuteReader();

/*SQlDatareader ile SQLcommand nesnesini ilişkilendiriyorum..*/

while(oku.Read())/*okuma bitene kadar*/

{

/* ileriye adım adım okuma yapıyorum*/

ListItemmenuler = new ListItem();

menuler.Text = oku[

"menuad"].ToString();// menu adları ekleniyo

menuler.Value = oku[

"menulink"].ToString();// menu url değerşeri aktarılıyo

BulletedList1.Items.Add(liste);

//olusturulan taslak bulletedlist kontrolune aktarılıyor..

}

bag.Close();

oku.Close();

komut.Dispose();

bag.Dispose();

oku.Dispose();

}



form load olayınada fonksiyonumuzu ekleriz...


protected voidPage_Load(objectsender, EventArgse)

{

if(!IsPostBack) bulletedmenuyap();

}


Tüm arkadaşlara  başarılar dilerim  kolay  gelsin..



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.