3

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?

tereško
  • 58,060
  • 25
  • 98
  • 150
nick gowdy
  • 6,191
  • 25
  • 88
  • 157

1 Answers1

4

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.

Darek
  • 4,687
  • 31
  • 47