asp.net bulletedlist pek kullanılan bı ozellil degil.fakat cok kullanıslı bır kontrol.ornegin bu kontrolu kullanarak kendı menumuzu yapabiliriz.yada veri tabanında cekılen verılerın gosterilmesi gibi yani kontrolun kullanımı sızın hayalgucunuze gore ıstenılenheryerde kullanılabılır.kısaca kontrolun kullanımı anlatmaya calısacam.bir ornek uzerınden anlatım daha bı anlasılır olacagına ınanıyorum.
Ayrıca bu kontrolun ozellkler kısmındakı Dısplaymode ozelliginden normal text,link button yada hyperlink ozelliklerini kullanabılıyoruz.
ornekte sql verı tabanında bulunan verileri cekerek formumda gostermeye calısacaz.oncelilke veri tabanı olusturuyoruz.verı tabanınmıza bir tablo olsuturuoz.
create table veri
(
veri_icerik varchar(50),
veri_url varchar(50),
)
seklinde bır tablo olusturuyoruz.tablo içine veri girelim.
simdi sırada projemize veri tabanı baglantısı yapmak gerek.sonra datareader la veri tabanındakı verileri okuyoruz ve bulletedlist e eklememiz gerekiyor.fakat eklemek ıcın bu kontrol bizden ListItem tipinde bir item istiyecektır.bu yuzden veriler ListItem aktarılır daha sonra bulletedList aktarılır.ListItem text ve value degerleri atanır.
projemızın c# kodları sekıldeki gıbı olmalı.
projemız calısınca sekıldeki gibi veriler verı tabanından cekılerek web sayfasına yuklenıyor.
15 Temmuz 2010 Perşembe
13 Temmuz 2010 Salı
asp.net adrotator ile updatepanel içinde kullanımı.
Adrotator onceki yazımızda degınmıstık.adrotatorun kullanım amacı siteye eklenen reklamlarını gosterılmesınde buyuk kolaylık saglıyordu.onceki yazımızda yaptıgımız adrotator ornegınde siteye eklenen reklamların sadece sayfa yenınlenıce degişmesıne yarıodu. Fakat biz sayfayı yenılemeden reklamların sureklı değişmesi istiyorsak ne yapmalıyız? Ajax kullanarak yapılabılır.visual studıo 2008 içinde gelen ajax extensions tool kullanarak.burada bulunan 'updatepanel' kontrolunu kullanarak sadece istedigimiz bılgılerı ıcıne koyarak o kısmın sayfa yenılenmeden sureklı olarak değişmesını saglıyabılıriz. Updatepanal kullanmak için oncelikle scriptmanager eklenmelidir. bu kontrol web formunda ajax ozelliklerini kullanmamızı saglıyor.ayrıca updatepaneli bir timera baglıyarak reklamların ne sıklıkla degişecegıne karar verebılıyoruz.
ornek olarak
forma oncelikle 1 adet script manager ekkliyoruz.1 adet update panel 1adet timer ve son olarak adrotatoru updatepanelin içine koyuyoruz.formumuz html kodları sekıldeki gıbı olmalı:
sekildedir. kodları acıklıycak olursak .olsuturdugumuz timerin interval degeri 2000millisaniye ayarlı oldugundan 2 snde bir timer tetiklenencek.ve updatepanelin tetikleyicisine timeri bagladıgımızda update panelin ıcerigi 2 snde 1 yenılenecek.bu sayede adrotatorun advertisementfile kısmına ekledgimiz reklam xml dosyasının icerisinde bulunan reklamlar impresion degerine gore degisecek.bu sayede kullanıcının surekli aynı reklam görup sıkılması engellemek ve reklamların daha bır cekıcı olmasını saglamıs olduk...
ornek olarak
forma oncelikle 1 adet script manager ekkliyoruz.1 adet update panel 1adet timer ve son olarak adrotatoru updatepanelin içine koyuyoruz.formumuz html kodları sekıldeki gıbı olmalı:
sekildedir. kodları acıklıycak olursak .olsuturdugumuz timerin interval degeri 2000millisaniye ayarlı oldugundan 2 snde bir timer tetiklenencek.ve updatepanelin tetikleyicisine timeri bagladıgımızda update panelin ıcerigi 2 snde 1 yenılenecek.bu sayede adrotatorun advertisementfile kısmına ekledgimiz reklam xml dosyasının icerisinde bulunan reklamlar impresion degerine gore degisecek.bu sayede kullanıcının surekli aynı reklam görup sıkılması engellemek ve reklamların daha bır cekıcı olmasını saglamıs olduk...
12 Temmuz 2010 Pazartesi
Asp.net Adrotator ile xml reklam olusturmak
oncelikle adrotatorun ne işe yaradıgını anlatayım.Adrotator kontrolu genellikle web sayfalarındakı reklamların yonetımını saglayan bır kontroldur.sayfa her yenıden yuklendıgınde sızın ayarlamıs oldugunuz reklamlar sureklı degişmesını saglıyor.
bu kontrolu bır verı tabanı baglıyarak yada xml dosyasına yazdıgım verileri cekerek kullanabılırıyoruz. bu yazıda xml kullanarak adrotatoru anlatmaya calısacam.
ornek uzerınde ıncelıyelim.
oncelıkle bır web sitesi acıyoruz.bu sıteye anasayfa adında bır web form eklıyoruz. daha sonra toolboxtan adrotator kontrolunu web formunun uygun bır yerıne koyuyoruz.
daha sonra web sitesine bır ıtem daha eklıyoruz.bir xml dosyası eklıyoruz bu xml dosyasına
reklam.xml ismini veriyoruz ve bu xml dosyasının ıcerigi:
reklamı eklıyoruz.eklemek ıstedıgımız farklı reklam varsa yıne aynı sekılde advertisement aralıgına yazabılırız. bu xml dosyasını adrotator un ozelliklerinde bulunan advertisementfile kısmına reklam.xml dosyasını ekliyoruz.artık sitemizin reklam bolumu calısır duruma geldi.Artık site her acıldıgında xml dosyasına ekledigimiz reklamları gosterılme sıklıgına gore goruntulenmeye baslar.adrotator kontrolu ayrıca bır verıtabanına baglanarak ordakı verılerı cekerek reklamları gosterebiliriz. veri tabanına baglanma işlemını sonrakı yazılarda anlatmaya calısacam.
bu kontrolu bır verı tabanı baglıyarak yada xml dosyasına yazdıgım verileri cekerek kullanabılırıyoruz. bu yazıda xml kullanarak adrotatoru anlatmaya calısacam.
ornek uzerınde ıncelıyelim.
oncelıkle bır web sitesi acıyoruz.bu sıteye anasayfa adında bır web form eklıyoruz. daha sonra toolboxtan adrotator kontrolunu web formunun uygun bır yerıne koyuyoruz.
daha sonra web sitesine bır ıtem daha eklıyoruz.bir xml dosyası eklıyoruz bu xml dosyasına
reklam.xml ismini veriyoruz ve bu xml dosyasının ıcerigi:
<Advertisement>
<ad>
// <ImageUrl>../resimler/resim.gif<ImageUrl> ///reklamın resminin urlsı
// <NavigateUrl>http://www.sıte.com<NavigateUrl>///tıklayınca gıdılecek url
// <AlternateText>İnternet,Tasarım,Popüler Kültür<AlternateText>///resim acılmazsa cıkacak yazı
//<Keyword>Genel<Keyword>///reklamın hangı kategorıye ait oldugu
//<Impressions>5<Impressions>///reklamın gosterılme sıklıgını gosteren deger.
</ad> </Advertisement>
reklamı eklıyoruz.eklemek ıstedıgımız farklı reklam varsa yıne aynı sekılde advertisement aralıgına yazabılırız. bu xml dosyasını adrotator un ozelliklerinde bulunan advertisementfile kısmına reklam.xml dosyasını ekliyoruz.artık sitemizin reklam bolumu calısır duruma geldi.Artık site her acıldıgında xml dosyasına ekledigimiz reklamları gosterılme sıklıgına gore goruntulenmeye baslar.adrotator kontrolu ayrıca bır verıtabanına baglanarak ordakı verılerı cekerek reklamları gosterebiliriz. veri tabanına baglanma işlemını sonrakı yazılarda anlatmaya calısacam.
asp.net cookie kullanımı
Cookie turkce cerez anlamına gelmektedir.Cookie kelimesi "web sayfası sunucusunun sizin bilgisayarınızın hard diskine yerleştirdiği ufak bir text dosyası" için kullanılmaktadır.bu text bi cok sey bulanabılır.ornegin bir siteye uye ismi ve şifre ile girdinizde benı hatırla butonu vardır iste bu cerezlere bı ornek verilebilir.bu secersenız web sitesi bılgısayarınıza sifre ve uye adınızın bulundugu bir text dosyası kayıt eder.bu text dosyası bir cookiedir.
bu yazıda nasıl bir cookie yapılacagını kısaca anlatacam.
asp.net icersinde httpcookie nesne si bulunmakta. bu nesne cookieler ilgili tum işlemleri içinde barındırır.ornegın cookie olusturma,okuma gibi işlemler.
bunu kodlara anlatacak olursa:bir web sitesi olusturuoruz.ve cookie_yarat web formu olsuturuoz.bu formun tasarımı:
burada text gırdıgımız ad ve soyadı cookie kayıt etcez oncelikle.buttonun click evetı altında cookie olusturma ıslemlerini yazıoruz.
protected void Button1_Click(object sender, EventArgs e)
{
HttpCookie mycookie = new HttpCookie("cerez");
mycookie["ad"] = TextBox1.Text;
mycookie["soyad"] = TextBox2.Text;
mycookie.Expires = DateTime.Now.AddDays(30);
Response.Cookies.Add(mycookie);
Response.Redirect("Default.aspx");
}
burda httpcookie nesnesi kullanarak cerez adında bır cookie olusturarak my cookie degişkenıne atıyoruz.
mycookie.expires komutu cerezi bılsayarın hafızasında süre olarak ne kadar kalacagını ayarlıyoruz.
response.redirect komutu bir sonrakı sayfaya yonlendırmekte.default sayfasında ise cerezlere kaydettigimiz degerleri kullanacagız.
default sayfamıza 2 tane label koyuyoruz.bu label lara ceraz ıcındekı degerlerı atcaz.default sayfanın load kısmına asagıdakı konutlar yazılarak sayfa yuklenırken degerlerın sayfa yazılır.
protected void Page_Load(object sender, EventArgs e)
{
HttpCookie cookie = Request.Cookies["cerez"];
Label1.Text = cookie["ad"];
Label2.Text = cookie["soyad"];
}
ornegin cookie yarat sayfasında ad:ali soyad:balci yazarsak default sayfası sekıldeki gibi geliyor.
cookie olusturmaya kısaca degişmiş olduk fakat cookiler bılgısayarda ulasılabılır bır text dosyası oldugundan kotu nıyetlı ınsan kısısel bılgılerinıze ulasılabılır.bunun onlemenın yolları cookie lar kaydedilerken sıfrelenerek kayıt edılebilir.yada bılgısayarda kayıtlı cookıe sık sık temızlemek.
bu yazıda nasıl bir cookie yapılacagını kısaca anlatacam.
asp.net icersinde httpcookie nesne si bulunmakta. bu nesne cookieler ilgili tum işlemleri içinde barındırır.ornegın cookie olusturma,okuma gibi işlemler.
bunu kodlara anlatacak olursa:bir web sitesi olusturuoruz.ve cookie_yarat web formu olsuturuoz.bu formun tasarımı:
burada text gırdıgımız ad ve soyadı cookie kayıt etcez oncelikle.buttonun click evetı altında cookie olusturma ıslemlerini yazıoruz.
{
HttpCookie mycookie = new HttpCookie("cerez");
mycookie["ad"] = TextBox1.Text;
mycookie["soyad"] = TextBox2.Text;
mycookie.Expires = DateTime.Now.AddDays(30);
Response.Cookies.Add(mycookie);
Response.Redirect("Default.aspx");
}
burda httpcookie nesnesi kullanarak cerez adında bır cookie olusturarak my cookie degişkenıne atıyoruz.
mycookie.expires komutu cerezi bılsayarın hafızasında süre olarak ne kadar kalacagını ayarlıyoruz.
response.redirect komutu bir sonrakı sayfaya yonlendırmekte.default sayfasında ise cerezlere kaydettigimiz degerleri kullanacagız.
default sayfamıza 2 tane label koyuyoruz.bu label lara ceraz ıcındekı degerlerı atcaz.default sayfanın load kısmına asagıdakı konutlar yazılarak sayfa yuklenırken degerlerın sayfa yazılır.
protected void Page_Load(object sender, EventArgs e)
{
HttpCookie cookie = Request.Cookies["cerez"];
Label1.Text = cookie["ad"];
Label2.Text = cookie["soyad"];
}
ornegin cookie yarat sayfasında ad:ali soyad:balci yazarsak default sayfası sekıldeki gibi geliyor.
cookie olusturmaya kısaca degişmiş olduk fakat cookiler bılgısayarda ulasılabılır bır text dosyası oldugundan kotu nıyetlı ınsan kısısel bılgılerinıze ulasılabılır.bunun onlemenın yolları cookie lar kaydedilerken sıfrelenerek kayıt edılebilir.yada bılgısayarda kayıtlı cookıe sık sık temızlemek.
7 Temmuz 2010 Çarşamba
Windows 8 ile gelecek yenilikler..
windows 7 daha yenı yenı alısmaya baslamısken windows 8 ile ilgili bi ton haber cıkmaya basladı.bu yenılıkler gercekten guzel olcaga benzıyor. iste wındows 8 le gelcek yenılıkler.
1- Şifrelerden kurtulmak
Sayısız ezberlemek yerine, bunları Windows 8'de güvenli tutacak bir sistem üzerinde çalışmalar sürüyor. Kullanıcılar şifre girmeyecek, sistem kullanıcınınn yüzünü tanıyarak açılacak ve hizmetlere erişime izin verecek.
2- Her bilgisayara ayrı uygulama almaya son
Microsoft, Windows hesabını kullanıcı üzerine kuracak ve kullanıcı masaüstü PC, dizüstü bilgisayar ya da tablet PC arasında geçiş yaparken, kendi işletim sistemini ve ayarlarını kullanmaya zahmetsizce devam edebilecek.
3 Gelişmiş dokunmatik desteği
Microsoft ortaklarına Apple'ı ünlü yapan dokunmatik desteğini aşacaklarını söylüyor. Özellikle tablet cihazlardakullanım ı çok kolay sanal klavye ve gelişmiş kontrol vadediyor. Ayrıca ekranlar kullanım açısına ve ışığına göre görüntüyü ayarlayarak en iyi tecrübeyi sunabilecek.
4 Her yerden TV izlemek
Kullanıcılar sabit disklerindekizengin medya içeriğine bütün ekranlardan ulaşabilecek. Yani PC kablosuz kablolarla oturma odasındaki TV'ye görüntüleri besleyecek. Kullanıcılar istedikleri yerde, istedikleri zaman bu içeriklere erişim sağlayabilecek.
Microsoft ortaklarına Apple'ı ünlü yapan dokunmatik desteğini aşacaklarını söylüyor. Özellikle tablet cihazlarda
4 Her yerden TV izlemek
Kullanıcılar sabit disklerindeki
5 Windows App Store
Apple'ın başarısını kanıtladığı online uygulama dükkanına Microsoft da öenm veriyor. Bu dükkan hakkında yeterince detay ortada yok. Ancak Windows yazılım geliştiricileri için kullanıcılara ulaşmanın merkezi bir yolu olarak başarılı olabilir.
6 Formatsız format atmak
Virüs ya da zararlı yazılım, bozulan ayarlar veya artık sistemin eskisi gibi istikrarlı işlemediği durumlarda, kişisel veri kaybı riski olmadan reset atmak mümkün olacak.
Microsoft ayarları ve belgeleri koruyarak işletim sistemini ilk ayarlara döndürecek. Uygulama dükkanından ya da başka yerlerden satın alınan uygulamaları da hızla yüklemek mümkün olacak.
Apple'ın başarısını kanıtladığı online
6 Formatsız format atmak
Virüs ya da zararlı yazılım, bozulan ayarlar veya artık sistemin eskisi gibi istikrarlı işlemediği durumlarda, kişisel veri kaybı riski olmadan reset atmak mümkün olacak.
Microsoft ayarları ve belgeleri koruyarak işletim sistemini ilk ayarlara döndürecek. Uygulama dükkanından ya da başka yerlerden satın alınan uygulamaları da hızla yüklemek
7 Anında açılan PC
PC'Lerin basar basmaz açılması Wİndows 8'de de mümkün olmayacak ancak Microsoft bu konuda çalışıyor. 40 Saniyeden 27saniyeye düşen açılış süresi yarı yarıya indirilerek 10-15 saniye civarına indirilebilir.
8 İşletim sistemini çözmek
Windows 8 kullanımı kolaylığını hedefliyor. Bu yüzden kullanıcı arayüzündeki geliştirmeler ile işletim sistemi ne kadar kaynak kullanıyor, güç verimliliği ve açılış-kapanış süreleri nedir kolayca öğrenebilecek. Ayrıca ne nasıl yapılır işletim sistemi içerisinden kolayca öğrenip tavsiye alabilecek.
PC'Lerin basar basmaz açılması Wİndows 8'de de mümkün olmayacak ancak Microsoft bu konuda çalışıyor. 40 Saniyeden 27
8 İşletim sistemini çözmek
Windows 8 kullanımı kolaylığını hedefliyor. Bu yüzden kullanıcı
chıp.com.tr den alıntıdır...
6 Temmuz 2010 Salı
Sql iç içe select yapısı
Verıtabanında bazen bir tablodan cektıgımız bılgıler le baska bır tablodakı bilgileri sorgulamak isteyebılırız.
bu tur sorgular ıc ıce sorgularla yapılabılır.
ornegin elimizde 2 tablo birinde ogrenci tablo su dieride bu bu ogrencilerin notlarını ıceren bır tablo olsun.
ogrenci tablosu
not tablosu sekıldeki gibi olsun.
ornegın notu 60 uzerinde olan ogrencilerin bılgılerı ıstenırse
yapılacak sorgu sekıldekı gıbı olur:
select * from ogrenci where ogr_id
in(select ogr_id from notlar where ogr_not>60) istedigimiz sorguyu yapmıs olduk.
2 sql sorgusunu 'in ' kalıbıyla baglamıs olduk.kin kullanılma amacı içteki sorguda buldugumuz degerleri 2 sorguda butun tabloda tek tek sorgulamasıdır.' NOT IN' kalıbı içtekı sorgudan gelen degerleri ilk sorguda sorgulanmamsını saglar.
ayrıca ıce ıce cumlerde ANY,ALLkalıblarıda kullanılır
select * from notlar
where ogr_not>any(select *from notlar2 where not1>12)
icteki donguden donen degerlerin herhangı bırınden buyuk degeler getiren bı cumlecıktır.
ALL aynı sekılde kullanılmakta fakat any tam tersi olarak calısır.
select * from ogrenci where exists (select * from notlar where ogr_not=99) sekıllınde kullanılır.eger icerdeki sorgudan hıc kayıt donmezse birinci sorgu calısmaz.
bu tur sorgular ıc ıce sorgularla yapılabılır.
ornegin elimizde 2 tablo birinde ogrenci tablo su dieride bu bu ogrencilerin notlarını ıceren bır tablo olsun.
ogrenci tablosu
not tablosu sekıldeki gibi olsun.
ornegın notu 60 uzerinde olan ogrencilerin bılgılerı ıstenırse
yapılacak sorgu sekıldekı gıbı olur:
select * from ogrenci where ogr_id
in(select ogr_id from notlar where ogr_not>60) istedigimiz sorguyu yapmıs olduk.
2 sql sorgusunu 'in ' kalıbıyla baglamıs olduk.kin kullanılma amacı içteki sorguda buldugumuz degerleri 2 sorguda butun tabloda tek tek sorgulamasıdır.' NOT IN' kalıbı içtekı sorgudan gelen degerleri ilk sorguda sorgulanmamsını saglar.
ayrıca ıce ıce cumlerde ANY,ALLkalıblarıda kullanılır
select * from notlar
where ogr_not>any(select *from notlar2 where not1>12)
icteki donguden donen degerlerin herhangı bırınden buyuk degeler getiren bı cumlecıktır.
ALL aynı sekılde kullanılmakta fakat any tam tersi olarak calısır.
EXİSTS ve NOT EXİST
bu kalıplar 1 ve 0 dondurur. yani içerdeki sorgudan donen herhangı bır deger varsa dıstakı sorgunun calısmasını saglar yoksa dıstakı dongu calısmaz.select * from ogrenci where exists (select * from notlar where ogr_not=99) sekıllınde kullanılır.eger icerdeki sorgudan hıc kayıt donmezse birinci sorgu calısmaz.
5 Temmuz 2010 Pazartesi
Sql Server View Kullanımı
View sanal tablo olarak adlandırabılırız.Bu tablo veri tabanında aslında bulunmamaktadır ancak gercek bir tablo gıbı sorgulanmaktadır.View kullanıldıgı baslıca yerler: kullanıcıların bazı kritik tabloların sadece belli satır ve sutunları gormesi istendıgınde kullanılabılır.
Ayrıca ilişkisel veri tabanlarında tabloları bırlestirmek ıcın surekli inner joın kullanmaktansa view kullanmak veri tabanı performans artırır.
View olusturmak için:
Create view view_adı(view_sutun1,viewsutun2)
bır bankanın hesap tablosu sekıldeki gibi olsun.
bu bılgılerin herkes tarafından gorunmesı guvenlık acıgına neden olur.bunun yerıne bir sanal tablo yani view olusturuyoruz.ornegın sadece hesap_no ve hesap sahıbının bılgılerı gorunsun ıstıyorsak.
create view bılgıler
as select hesap_no,hesap_sahıbı_ad,hesap_sahıbı_soyad
from hesap ..
view kullanarak veri tabanın tablolara erısımı yetkılere gore belırleyıp kımın hangı bılgılere ulasacagını belirleyebılırz.
olustural bır view sılmek ıcın:
drop view view_adi
yazarak sılebılıırz
View bir dezavantajı gercek anlamda birer tablo olmadıkları ıcın vıew uzerınde ekleme veya guncelleme yaparken cesıtlı kısıtlamalar vardır.
Ayrıca ilişkisel veri tabanlarında tabloları bırlestirmek ıcın surekli inner joın kullanmaktansa view kullanmak veri tabanı performans artırır.
View olusturmak için:
Create view view_adı(view_sutun1,viewsutun2)
as
select tablo tablo_sutun1,tablo_sutun2
from tablo
where tablo_sutun3=veri
seklınde kullanılır.bır ornekle acıklarsak.bır bankanın hesap tablosu sekıldeki gibi olsun.
bu bılgılerin herkes tarafından gorunmesı guvenlık acıgına neden olur.bunun yerıne bir sanal tablo yani view olusturuyoruz.ornegın sadece hesap_no ve hesap sahıbının bılgılerı gorunsun ıstıyorsak.
create view bılgıler
as select hesap_no,hesap_sahıbı_ad,hesap_sahıbı_soyad
from hesap ..
komutları ıle bılgıler adında bı view tablosu olusturduk. bu tablonun son hali:
view kullanarak veri tabanın tablolara erısımı yetkılere gore belırleyıp kımın hangı bılgılere ulasacagını belirleyebılırz.
olustural bır view sılmek ıcın:
drop view view_adi
yazarak sılebılıırz
View bir dezavantajı gercek anlamda birer tablo olmadıkları ıcın vıew uzerınde ekleme veya guncelleme yaparken cesıtlı kısıtlamalar vardır.
Kaydol:
Kayıtlar (Atom)










