• 18-07-2018, 16:03:06
    #1
    Merhabalar ,
    Bir Ürün Web sitesi üzerinde gelişimim için çalışmaktayım. Web sitesini ASP.NET MVC kullanarak geliştirmekteyim ve şu ana kadar bir sorun yok iken Controllers bölümünde Session üzerindeki kullanıcı bilgilerini alıp , sorgu yaptıktan sonra View bölümüne gönderiyorum ama bu sırada nedense hiç bir Cast işleminde sorun olmaz iken bu cast işleminde sorun vermekte ve bu yazdığım sistemin tamamını şuanda görmüş olduğum eğitim de görerek yazdım ve bu işlemde aynı şekilde yani sadece bende calışmıyor acaba unuttuğum atladığım nedir ? hata detayları ise şöyle

    2 Adet aynı türdeki Cast işleminde hata vermekte ilki Kişi profil bölümüne girdiğinde Sessiondaki veriyi yazdırmak istiyorum ve Sessionu Cast ettiğimde hata vermektedir.


    Hata cıktısı


    2. Hata ise Controllers bölümünde giriş bölümünde (Index) aldığım user bilgilerini Session'a aktarıyorum ve Profil bölümüne geldiğinde bu verideki id alıp sorgulatıyorum ve bilgileri ise return View(user) yapıp View bölümüne göndermekteyim
    Yazdığım Kod ;


    Profil sayfasının hata cıktısı ;


    DB Sorgulama ve veri cekme konusunda Entity Fre. Kullanmaktayım DB Projeme ekledikten sonra işlemleri yaptırdım aklımıza hemen DB'deki veri türüne Cast ettirdiğin için DB tarafında bir sorun olabilir gibi bir şey olabilir ama farklı yerlerde View bölümlerinde vs bir çok yerde ViewBag olsun normal değişken olsun cast ettim ama bu bölümlerde nedense hata vermekte ve aynen eğitmenin gittiği yoldan gidiyorum ama bunlar ile karşılaştım bilgili arkadaşlar acaba unuttuğum veya es gectiğim şey nedir ? yardımcı olurlarsa çok sevinirim.

    Kolay gelmesi dileği ile.
  • 18-07-2018, 16:23:17
    #2
    Session' da user objesini tutamazsın, ancak userName i atayabilirsin.
    38. satırda Session["Login"] = sessionUser.UserName;
    Çağırdığın yerde de sadece Session["Login"].ToString() ile çağırabilirsin.
    View' a user'i göndereceksen bu satırda session daki kullanıcı adını veritabanından sorgula :
    var user = db.User.FirsOrDefault(x=>x.Username == Session["Login"].ToString());
    return View(user);


    ​​​​
  • 18-07-2018, 16:30:11
    #3
    tknlg adlı üyeden alıntı: mesajı görüntüle
    Session' da user objesini tutamazsın, ancak userName i atayabilirsin.
    38. satırda Session["Login"] = sessionUser.UserName;
    Çağırdığın yerde de sadece Session["Login"].ToString() ile çağırabilirsin.
    View' a user'i göndereceksen bu satırda session daki kullanıcı adını veritabanından sorgula :
    var user = db.User.FirsOrDefault(x=>x.Username == Session["Login"].ToString());
    return View(user);


    ​​​​
    Cözümü sayenizde buldum. Daha yazınızı okumadan 38. Satıra bak dediğinizde Sessiona db.User.Any(x=>x.UserName==user.UserName && x.Password==user.Password)

    Any komutunu kullanarak aslında bilgileri değilde Varmı yokmu ? True vs döndürüyormuşum ve o yüzdende profil bölümünde veriyi alamıyormuşum dediğiniz gibi db.User.FirsOrDefault kullanarak bilgileri Sessiona atadım stringe cevirmedende işe yaradı yardımınız için çok teşekkür ederim. sağlıcakla kalın
  • 18-07-2018, 16:32:25
    #4
    Kolay gelsin.