ASP.NET MVC 4 の基本を学習するために、簡単な調査を行っています。これが私のコードです。
[HttpGet]
public ActionResult Index()
{
UserAndTableViewmodel Viewmodel = new UserAndTableViewmodel();
Viewmodel.T = Deserialize();
Viewmodel.U = new User();
for (int i = 0; i < Viewmodel.T.Questions.Count(); i++)
{
Viewmodel.U.UserChoices.Add(new Choice(Viewmodel.T.Questions[i].Choices[0].Value));
}
return View(Viewmodel);
}
[HttpPost]
public ActionResult Index(UserAndTableViewmodel Viewmodel)
{
// Viewmodel.T = Deserialize();
if (ModelState.IsValid)
{
return View("Thanks", Viewmodel);
}
else
{
return View(Viewmodel);
}
}
XML コードは次のとおりです。
<Table>
<Question Content="Question one">
<Choice Value="Answer 1" />
<Choice Value="Answer 2" />
</Question>
<Question Content="Question two">
(...)
</Question>
</Table>
逆シリアル化されたデータを「インデックス」ビューに渡し、ユーザーは自分の回答を選択できます。次に、データが[HttpPost]に投稿され、各質問とその回答が書き込まれるビューをレンダリングしたいのですが、問題が発生します-nullにViewmodel.T
等しいです。再度デシリアライズしないようにするには、どうすればよいですか?