Session ile Sayfalar Arası Veri Taşıma

Aralık 25, 2011

 

Session’lar en yaygın olarak sitemize kullanıcı girişi yapan kişinin sonradanda tanınması için kullanılırlar.Session üzerinde sadece kullanıcı adı veya üye bilgisi tarzı string ifadeler taşınmayabilir bir session üzerinde isterseniz o an elinizde bulunan DataTable nesnesini veya ArrayList nesnesini  de taşıyabilirsiniz session şu şekilde tanımlanır

 

Session["KullaniciAdi"] = “gokhanakgol”;

 

bu şekilde session’umuzu yaratırız kullanıcı’nın giriş yaptığı sayfada ise tam tersi bir yol izleyerek session’da tuttuğumuz sisteme giriş yapan kişinin kullanıcı adını ekranın istediğimiz bir alanına Hoşgeldiniz , gokhanakgol gibi yazdırırız.Şimdi ise sesion’da nasıl DataTable nesnemizi tutacağımıza bakalım ile olarak Northwind veri tabanındaki Customers tablosunu sorgulayıp DataTable’a aktaralım daha sonra bu nesnemizi session’da tutalım ve başka bir sayfadan bu session’da tuttuğumuz DataTable verilerimize ulaşalım ve ekrana sorgulayarak getirelim ilk olarak Customers tablosunu DataTable’a aktaralım

 

 

Customers tablosundaki sadece CompanyName ve ContactName alanlarını sorgulayalım ve DataTable nesnemizi geri dönelim Default.aspx sayfamızdaki buton’un click eventinde şu kodları yazalım

 

 

NorthwindGetCustomers method’u ile dtCustomers değişkenimize sorgu sonucunu alıyoruz hemen altındaki satırda ise DataTable nesnemizi direkt session’a aktarıyoruz.Session’a nesnemizi aktarırken herhangi ekstra bir işlem yapmıyoruz artık diğer sayfalardanda bu session içindeki DataTable nesnemize ulaşabiliriz.Uygulamamızın içerisinde 1 sayfa daha oluşturalım Default.aspx sayfamızdaki linkButton ile bu sayfayı açtıralım.2. sayfaya geçmeden önce Default.aspx sayfamızdaki button’umuza basıp Customers tablosunu DataTable nesnemize alıp session’a aktaralım daha sonra linkButton ‘a basıp 2. sayfamıza geçelim.2.sayfamızın Load event’inde şu kodları yazalım

 

 

 

2.Sayfamıza 1 tane GridView yerleştirelim daha sonra ilk satırda o an sessionda tutulan DataTable nesnemizi session’dan DataTable nesnemize aktaralım session ‘un başına (DataTable) yani nesnenin tipini yazmamız lazım bu şekilde Customers değişkenine sessiondan DataTable’mizi aktarmış olduk.Daha sonra kesinlikle null kontrolü yapmamız lazım bu kontrolü yapmazsak ve nesne sessiondan alınamaz ise sayfamız hata verecektir.Null kontrolünden sonra DataTable nesnemizi linq ile sorgulayarak GridView’in DataSource ‘una aktarıyoruz ki alınan sonuç biraz daha anlamlı olsun.İyi çalışmalar.

 

 

Not : Session ‘da nesne taşıma işlemi için linq sorgulamasına ihtiyaç yoktur burada sadece verilerin sıralı gelmesi için linq kullanılmıştır.Local bilgisayarınızda Northwind veri tabanı yoksa örnek sizde çalışmayacaktır.Northwind veritabanını bu adresten indirebilirsiniz   http://www.microsoft.com/download/en/details.aspx?id=23654

 

 

2. Sayfa ekran görüntüsü

 

 

 

Kaynak Kodları Buradan İndirebilirsiniz

 

 

 

 

posted in ASP.NET by gokhan

Follow comments via the RSS Feed | Yorum yapın | Trackback URL

Leave Your Comment

*

 
Powered by Wordpress and MySQL. Theme by Shlomi Noach, openark.org