TempData работает, но задерживается одним запросом - PullRequest
3 голосов
/ 23 ноября 2011

Я использую TempData для переноса сообщений с Redirect после Post.Контроллер устанавливает временные данные, как показано здесь:

TempData["message"]="foo";
return RedirectToAction("Index");

В _Layout.cshtml у меня есть следующий фрагмент:

@{var temp = TempData["message"] as string; }
@if ( temp != null)
{
     <div class="message">@temp</div>
}

Моя проблема в том, что после перенаправления,сообщение не отображается.Однако по запросу, который следует сразу за перенаправлением (обновить или любую другую страницу), отображается сообщение.После отображения он удаляется из сеанса, как и ожидалось.

Как сделать так, чтобы мои данные TempData отображались на странице, на которую я перенаправляю?

Ответы [ 2 ]

1 голос
/ 19 апреля 2012

Вам нужно использовать

TempData.Keep(key);
0 голосов
/ 23 ноября 2011

Когда вы делаете:

TempData["message"] = "foo";
return RedirectToAction("Index");

Сообщение будет отображаться, когда страница указателя, на которую вы перенаправляете, отображает свой вид.

...