2017-05-29 16 views
0

ASP.NET MVCで何らかの調査を作成しています。ユーザーがフォーム作成ビューを塗りつぶすと、すべての値がオブジェクトに格納されますセッションに保存されます。 調査の最後に、すべてのオブジェクトをデータベースに1回のアクションで保存したいと思います。セッションから値を取得してデータベースに保存するASP.NET

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

db.Emails.Add(mails); 

それは言う:

が暗黙のうちにNamespace.models.emailsにObject型を変換することはできません。

エラーがこの行で発生します。ASP.Netで

mails = Session["Emails"]; 

答えて

2

Seesions、デフォルトでは、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レコードを作成することです? 'メールメール=(メール)セッション["メール "]; テレフォンテレフォン=(テレフォン)セッション["テレフォン]"; Adres adres =(Adres)セッション["Adres"]; db.Emails.Add(mails); db.Telefoons.Add(telefoon); db.Adres.Add(adres); db.Vaardigheden.Add(vaardigheden); db.SaveChanges(); return RedirectToAction( "Index"、 "Vrijwilligers"); ' –

関連する問題