从会话中获取值并将其保存到数据库ASP.NET
问题描述:
我在ASP.NET MVC中创建了一些调查,当用户填充创建表单视图时,所有值都存储在一个对象中保存在会话中。 在调查结束时,我想通过一个操作将所有对象保存到数据库中。从会话中获取值并将其保存到数据库ASP.NET
Email mails = new Email();
mails = Session["Emails"];
db.Emails.Add(mails);
它说:
不能Object类型隐式转换为Namespace.models.emails。
该错误发生在这条线:
mails = Session["Emails"];
答
Seesions在ASP.Net,默认情况下,返回Object
类型。您必须在分配时对其进行分型。
试试这个:
if (Session["Emails"] != null)
{
Email mails = (Email)Session["Emails"]; //Assuming Session will contain one email
db.Emails.Add(mails);
}
但你并不需要'=新的电子邮件()'为对象将被放弃,并在下一行更换。 –
@HansKesting:我刚刚复制了OP的代码。但你是对的,我会更新代码。 – Saket
谢谢@Saket,我现在可以保存对象,唯一的问题是它由于某种原因创建4条记录? '电子邮件=(电子邮件)会议[“电子邮件”]; Telefoon telefoon =(Telefoon)Session [“Telefoon”]; Adres adres =(Adres)Session [“Adres”]; db.Emails.Add(邮件); db.Telefoons.Add(telefoon); db.Adres.Add(adres); db.Vaardigheden.Add(vaardigheden); db.SaveChanges(); return RedirectToAction(“Index”,“Vrijwilligers”);' –