Приведение коллекции объектов из TempData (MVC C#)

Я пытаюсь поместить свою коллекцию объектов в TempData следующим образом:

  [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 });
    }

И передать его через перенаправление к действию

[HttpGet]
public ActionResult PandoraDocsDeleted(string memNum)
{
    var model = (List<Business.Models.Administration.CorrespondenceRecordViewModel>)TempData["model"];
    ViewBag.MemNum = memNum;
    return View(model);
 }

Но когда я делаю это:

var model = (List<Business.Models.Administration.CorrespondenceRecordViewModel>)TempData["model"];

это ноль. Как мне это разыграть?

1 ответ

Решение

Вместо

TempData["model"] = model.Where(m => m.DeleteRow == true);

использование

TempData["model"] = model.Where(m => m.DeleteRow == true).ToList();

В противном случае вы сохраняете определение для IEnumerable<> без каких-либо данных.

Другие вопросы по тегам