これは機能します:
[HttpPost]
public ActionResult Slots(Slots slots, ICollection<int> jobNos)
{
if (!ModelState.IsValid)
return View(new SlotsViewModel() { JobNos = jobNos, Slots = slots });
//
// Do stuff
//
return View("MyResults", jobNos);
}
public ActionResult MyResults(ICollection<int> jobs)
{
return View(jobs);
}
ただし、これは機能しません。
[HttpPost]
public ActionResult Slots(Slots slots, ICollection<int> jobNos)
{
if (!ModelState.IsValid)
return View(new SlotsViewModel() { JobNos = jobNos, Slots = slots });
//
// Do stuff
//
return RedirectToAction("MyResults", new { jobs = jobNos });
}
public ActionResult MyResults(ICollection<int> jobs)
{
return View(jobs);
}
新しいアクションにリダイレクトすると、カウントが0より大きいはずのICollectionジョブが空になります。
リダイレクトするとコレクションが空になる理由を誰かが知っていますか?