2017-05-29 121 views
0

我在ASP.NET MVC中創建了一些調查,當用戶填充創建表單視圖時,所有值都存儲在一個對象中保存在會話中。 在調查結束時,我想通過一個操作將所有對象保存到數據庫中。從會話中獲取值並將其保存到數據庫ASP.NET

Email mails = new Email(); 
mails = Session["Emails"]; 

db.Emails.Add(mails); 

它說:

不能Object類型隱式轉換爲Namespace.models.emails。

該錯誤發生在這條線:

mails = Session["Emails"]; 

回答

2

Seesions在ASP.Net,默認情況下,返回Object類型。您必須在分配時對其進行分型。

試試這個:

if (Session["Emails"] != null) 
{  
    Email mails = (Email)Session["Emails"]; //Assuming Session will contain one email 
    db.Emails.Add(mails); 
} 
+0

但你並不需要'=新的電子郵件()'爲對象將被放棄,並在下一行更換。 –

+0

@HansKesting:我剛剛複製了OP的代碼。但你是對的,我會更新代碼。 – Saket

+0

謝謝@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」);' –

相關問題