2014-09-09 5 views
2

Я пытаюсь поставить свою коллекцию объектов в TempData так:коллекция Литье объектов из TempData (MVC C#)

[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"]; 

это null. Как это сделать?

ответ

4

Вместо

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

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

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

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

+0

Спасибо, что ваш код работал. Сначала я получал список из 0 предметов, когда я делал кастинг, но это было ошибкой где-то в другом месте. –

+0

Большое спасибо, вы ответили мне –

Смежные вопросы