Kurumsal Otomasyon Çözümlerinde Zirve

Ajax Rating Kontrolünü Datalist İle Kullanalım

Ajax Rating Kontrolünü Datalist Içerisinde Kullanalim

Bu yazimda Asp.Net Ajax ile gelen rating kontrolünün kullanimina ait güzel bir örnek yapacagiz. Örnek olarak her zaman kullandigim kitaplar veritabaninda bulunan kitaplarimiza kullanicilarin puan verebilecegi bir yapi tasarlayacagiz.
Proje sonunda asagidaki görüntüyü elde edecegiz.

ajax-rating-kontrolunu-datalist-ile-kullanalim-1

ajax-rating-kontrolunu-datalist-ile-kullanalim-1

Not: Ajax Rating Kontrolüne ait temel hususlara Asp.Net Ajax Rating Kontrolünü Taniyalim adli makalemden ulasabilirsiniz. Ben Rating kontrolü hakkinda temel hususlarda bilgi sahibi oldugunuzu varsayiyorum.
Örnegimize baslayalim.
1.Adim: Bir adet ASP.NET projesi açiniz.(VS 2005 kullaniyor iseniz Ajax Enabled Web Site açiniz.)
2.Adim: Website< dökümani CSS ile adimlari New

3.Adim: Asagidaki CSS kodunu StyleSheet.Css dökümaniniza ekleyiniz. .oylamaEsnasi { width: 30px; height:26px; cursor: pointer; display: block; margin: 0px; padding: 0px; display: block; } .Doldurulmusken { background-image: url(dolu.gif); } .Bosken { background-image: url(bos.gif); } .Kayitli { background-image: url(dolu.gif); } Asagidaki resimleri projenize ekleyiniz.

 

4.Adim: Sayfaniza bir adet Datalist, bir adet AccessDataSource ekleyiniz. Ben verileri Access veritabanindan çekecegim. Siz isterseniz baska bir veri kaynagi kullanabilirsiniz. Veritabaninda kitaplar tablosuna ait görünüm asagidaki gibidir.

ajax-rating-kontrolunu-datalist-ile-kullanalim-2

ajax-rating-kontrolunu-datalist-ile-kullanalim-2

 

5.Adim: AccessDataSource kontrolünü tablomuzdan gelecek olan verilerle doldurunuz. Sonuç olarak AccessDataSource asagidakine benzer bir görünüm kazanmalidir. asp:AccessDataSource>
6.Adim: AccessDataSource’u Datalist’e DataSource olarak gösteriniz.
7.Adim: Datalist’in Edit Templates özelligini kullanarak DataListinizi isteginize göre yapilandiriniz.
8.Adim: Simdi DataList içerisine bir adet rating kontrolü ekleyiniz. Ve Rating kontrolünü asagidaki gibi yapilandiriniz.

cc1:Rating>
Burada CurrentRating ile veritabaninda mevcut kitap için verilmis olan puan okunarak mevcut kitaba ait puan degeri rating kontrolünde gösterililmesi saglaniyor. Tag ile oylama yapilan kitaba ait ID bilgisi tutuluyor. Bunu Update islemlerinde kullanacagiz.
9.Adim: Puan verildigi zaman Tablomuzun güncellenmesi için asagidaki methodu Code Behind kisma ekleyiniz.
protected void PuanVer(object sender, AjaxControlToolkit.RatingEventArgs e)
{
int id=Convert.ToInt32(e.Tag);
OleDbConnection baglanti = new OleDbConnection(“Provider=Microsoft.Jet.Oledb.4.0 ; Data Source= “+Server.MapPath(“db.mdb”));
OleDbCommand komut = new OleDbCommand(“update kitaplar set puanlanmaAdedi=puanlanmaAdedi+1 where ID=?”, baglanti);
komut.Parameters.Add(“?”, OleDbType.Integer).Value = id;
if (baglanti.State == ConnectionState.Closed)
{
baglanti.Open();
}
komut.ExecuteNonQuery();

OleDbCommand komut2 = new OleDbCommand(“update kitaplar set puan=(((puan*(puanlanmaAdedi-1))+?)/puanlanmaAdedi) where ID =?”, baglanti);
komut2.Parameters.Add(“?”, OleDbType.Integer).Value = Convert.ToInt32(e.Value);
komut2.Parameters.Add(“?”, OleDbType.Integer).Value = id;
komut2.ExecuteNonQuery();
baglanti.Close();
}
Burada kullandigimiz iki komuttan biri tablomuzdaki puanlanma sayisini arttirirken ikincisi verilen puana göre basit bir hesaplama ile yeni puani hesaplamaktadir.
Projenizi çalistirabilirsiniz. Asagidaki görüntüye benzer bir görüntü ile karsilasmaniz gerekiyor.

ajax-rating-kontrolunu-datalist-ile-kullanalim-3

ajax-rating-kontrolunu-datalist-ile-kullanalim-3

Diger yazilarimda görüsmek üzere.

Yorum Yapılmamış

Bir cevap yazın