11 Aralık 2014 Perşembe

Asp.Net Session Kullanımı Class ı session da Saklamak

Session lar Web sayfalarımız üzerinde saklamamız gereken verileri tutabileceğimiz bir yapıdır.
en basit örnekle Session[Deger]="Araba";  şeklinde bir session oluşturursak.
Başka bir kod bloğu içerisinde  Textbox1.text=Session[Deger].toString();  şeklinde bu  tanımladığımız sessionı kullanabiliriz.

Daha farklı olarak çeşitli verileri de yine session da saklayabiliriz.
örneğin bi web sayfamızın üyelik sistemi var ve site içerisinde login olan kullanıcıya ait bilgiler çeşitli işlemlerde kullanılıyor. şöyle düşünün kullanıcımıza ait 10 adet bilgi var bunları veritabanından çektik. ve sessionda tutucaz. aklımıza şöyle bir tanımlama gelebilir. üst tarafta kullandığımız yöntem gibi tektek 10 adet session oluşturabiliriz ama bu doğru yöntem olmaz 
Session[Deger]="Ad";
Session[Deger]="soyad";
Session[Deger]="UyeNo";   Vb Gibi 10 adet tanımlama yaparsak kontrolü kaybederiz.

Bunun yerine bir clas oluşturup çektiğimiz kullanıcı bilgilerini bu class içerisine doldurup sessionda saklarsak işimiz kolaylaşacaktır. şimdi bu işlemi aşama aşama görelim.

1- classımızı oluşturalım.
public class UyeBilgiClass
    {
        public string Ad;
        public string Soyad;
        public string FirmaAdi;
        public string Email;
        public string Gsm;
}

2- Class içerisine bilgileri doldurup session üzerine atmak

Bu kısımda fazla ayrıntıya  girmeyeceğim. çok farklı yöntemlerle yapılabilecek bir işlem. ben datatable a çektiğim veri üzerinde göstereceğim

 Protected void BtnUyeGirisi_Click(object sender, EventArgs e)
{

    UyeBilgiClass Uye= new UyeBilgiClass();
    DataTable dt = GetUyeBilgileri(UyeId); // GetUyeBilgileri Bana üye bilgilerini
    //datatable olarak döndüren bir metoddur.
    Uye.Ad=dt.Rows[0]["Ad"].ToString();
    Uye.Soyad=dt.Rows[0]["Soyad"].ToString();
    Uye.FirmaAdi=dt.Rows[0]["FirmaAdi"].ToString();
    Uye.Email=dt.Rows[0]["Email"].ToString();
    Uye.Gsm=dt.Rows[0]["Gsm"].ToString();
    // Datatable daki bilgileri classımızdaki alanlara atadık
   HttpContext.Current.Session["UyeBilgi"] = Uye;
   // classımızı sessiona atıyoruz.UyeBilgi ismin biz belirleyerek yazıyoruz. kendimiz istediğimiz bir   //isim belirleyebiliriz.
}

3- Şimdide sessionda buluna üye bilgilerini nasıl okuyup kullanıcaz onu görelim
Bunun için bize üye classımızı döndüren bir metod gerekiyor
public static UyeBilgiClass GetUyeSessionClass()
        {
            UyeBilgiClass Uye= new UyeBilgiClass();
            Uye= ( UyeBilgiClass)HttpContext.Current.Session["UyeBilgi"];
            return Uye;
        }
sessionlara ihtiyacımız olduğunda bu metod aracılığıyle verilerimizi alıcaz.
ama henüz işimiz bitmedi.çektiğimiz bilgileri textboxlara yazdırarak işlemi tamamlayalım
öncelikle classımızın tanımlamasını yapalım. değişken tanımlaması yapar gibi diyebilirim.
private UyeBilgiClass Uye;

Protected void BtnBilgileriYaz_Click(object sender, EventArgs e)
{
    Uye= new UyeBilgiClass ();
    Uye= GetUyeSessionClass();
// Artık uye classımız içerisinde bilgilerimiz mevcut
Textbox1.text=Uye.Ad;
textbox2.Text=Uye.Soyad;  //Vb. Şekilde erişim sağlayabilriz.
}

bu şekilde işlemimizi tamamladık. Faydalı olması dileğiyle..
------------------------------------------------------------------------------
       

Hiç yorum yok:

Yorum Gönder