TempData работает, но задерживается одним запросом
Я использую TempData для переноса сообщений с Redirect после публикации. Контроллер устанавливает временные данные, как показано здесь:
TempData["message"]="foo";
return RedirectToAction("Index");
В _Layout.cshtml у меня есть следующий фрагмент:
@{var temp = TempData["message"] as string; }
@if ( temp != null)
{
<div class="message">@temp</div>
}
Моя проблема сейчас в том, что после перенаправления сообщение не отображается. Однако по запросу, который следует сразу за перенаправлением (обновить или любую другую страницу), отображается сообщение. После отображения он удаляется из сеанса, как и ожидалось.
Как сделать так, чтобы мои TempData отображались на странице, на которую я перенаправляю?
2 ответа
Когда вы делаете:
TempData["message"] = "foo";
return RedirectToAction("Index");
Сообщение будет отображаться, когда страница указателя, на которую вы перенаправляете, отображает свой вид.