По моему мнению, TempData
должен только использоваться в действиях, которые перенаправляют немедленно. Например:
public ActionResult Index()
{
TempData["foo"] = "bar";
return RedirectToAction("About");
}
public ActionResult About()
{
var foo = TempData["foo"];
return View();
}
Вы должны избегать сохранения чего-либо в TempData и отображать представление:
public ActionResult Index()
{
TempData["foo"] = "bar";
// bad :-(
return View("About");
}
Используйте Session для достижения того, что вы ищете, или добавьте уникальный идентификатор, который позволит вам идентифицировать правильный запрос.
Другой распространенный метод, который вы можете использовать вместо TempData
, заключается в сериализации модели на клиенте (своего рода ViewState, если хотите).