Asp.Net (ve diğer web teknolojilerinde) kullanılan Session yapısını Asp.Net MVC’de de kullanabilirsiniz.
Session’ın temel kullanım amacı, kullanıcı siteye bağlandığında, ilgili oturum süresince (tarayıcıyı kapatana ya da oturum süresi dolana kadar) belirlenen verilerin tüm sayfalarda kullanılabilir olmasını sağlamaktır. Örneğin kullanıcı sisteme giriş yaptığında kullanıcının bilgilerini Session nesnesinde tutup tüm sayfalarda kullanıcının bilgilerini kullanabilirsiniz.
Asp.Net MVC’de Session kullanımı, Asp.Net Web Forms’taki kullanım ile benzer şekildedir. HttpSessionStateBase sınıfı türündeki Session özelliği, Asp.Net MVC’de Controller ve View’larda kullanılabilir.
Örnek uygulamada Asp.Net MVC projesinin HomeController sınıfının Index metodunda “Kullanici” isimli session nesnesine “Veysel Uğur KIZMAZ” değerini atayalım ve View’da bu değeri Session’dan okuyup görüntüleyelim.
İlk adımda Index actionında Session değerini tanımlayalım.
public ActionResult Index() { Session["Kullanici"] = "Veysel Uğur KIZMAZ"; return View(); }
Şimdi Views > Home > Index.cshtml dosyasını açalım ve Session’daki “Kullanici” bilgisini sayfada görüntüleyelim.
<h1>@Session["Kullanici"]</h1>
Sayfayı çalıştırdığımız zaman önce Index actionında “Kullanici” isimli Session değeri atanacak, ardından View oluşturulurken “Kullanici” isimli Session değeri (action içinde atanan değer) sayfada görüntülenecektir.
Proje kodlarına bu linkten ulaşabilirsiniz: https://github.com/veyselugurkizmaz/Makale-Kodlari/tree/master/Makale/Makale.MVC.Session