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

Popular posts from this blog

authentication - Mongodb revoke acccess to connect test database -

r - Update two sets of radiobuttons reactively - shiny -

ios - Realm over CoreData should I use NSFetchedResultController or a Dictionary? -