c# - How to send LINQ Query result to another page using session? -
i read how convert query result list. not work or don't know how use in case.
my scenario have login page when user write email , password, application fetch data based on email , password.
protected void lbtnsignin_click(object sender, eventargs e) { try { sitedatacontext dc = new sitedatacontext(); session["userdata"] = data in dc.users data.email.equals(txtemail.text.tostring()) && data.password.equals(txtpassword.text.tostring()) select data; response.redirect("signin.aspx"); } catch(exception exp) { lblmessage.visible = true; lblmessage.text = exp.message; } } i save linq query result in session["userdata"] , redirect page. on second page want session result , show user data on page.
protected void page_load(object sender, eventargs e) { if(!ispostback) { var data = session["userdata"]; lblname.text = data.name; } } i can't data object data. gives me below error
object not contain definition 'name' , no extension method 'name' accepting first argument of type 'object' found (are missing directive or assembly reference?)
simply want show data of login user on webpage. please help.
the things store in session typed object. need compiler telling type you're expecting casting list correct type. linq query returning list of users calling .name on list makes no sense. assuming dc.users contains list of objects called user retreive list using following.
var data = (ienumerable<user>)session["userdata"]; data iterated on using
foreach(var u in data) system.console.writeline(u.name); however, looking @ code guess you're trying more like.
you want store first user find in session variable. need change linq code to.
session["userdata"] = (from data in dc.users data.email.equals(txtemail.text.tostring()) && data.password.equals(txtpassword.text.tostring()) select data).firstordefault(); and retreive session , write name label using
var data = (user)session["userdata"]; lblname.text = data.name;
Comments
Post a Comment