I am trying to put my collection of objects into TempData like this:
[HttpPost]
public ActionResult PandoraRemovalTotal2(List<Business.Models.Administration.CorrespondenceRecordViewModel> model, string hdnMem)
{
Business.Administration.Pandora Pandora = new Business.Administration.Pandora();
model = Pandora.DeleteDocs(model);
TempData["model"] = model.Where(m => m.DeleteRow == true);
return RedirectToAction("PandoraDocsDeleted", new {memNum = hdnMem });
}
And pass it through redirect to action
[HttpGet]
public ActionResult PandoraDocsDeleted(string memNum)
{
var model = (List<Business.Models.Administration.CorrespondenceRecordViewModel>)TempData["model"];
ViewBag.MemNum = memNum;
return View(model);
}
But when I do this:
var model = (List<Business.Models.Administration.CorrespondenceRecordViewModel>)TempData["model"];
it is null. How do I cast this?
Instead of
TempData["model"] = model.Where(m => m.DeleteRow == true);
Use
TempData["model"] = model.Where(m => m.DeleteRow == true).ToList();
Otherwise you are storing a definition for an IEnumerable<>, without any data.