Проблемы с использованием TempData

Я использую TempData для сохранения ошибок ModelState для формы, которая отображается из ChildAction. Форма позволяет пользователю оставить комментарий к сообщению в блоге. Если ModelState недействителен, ошибки копируются в TempData, и я перенаправляю на свой ShowPost действие, которое отображает форму комментария, дополненную ошибками проверки, через ChildAction.

Меня беспокоит то, что я на самом деле перенаправляю дважды между сохранением ошибок ModelState в TempData и повторным их отображением в ChildAction. Это потому что по моему ShowPost Кроме того, я проверяю, существует ли действительный слаг, соответствующий текущему сообщению, и затем перенаправляем, чтобы включить этот слаг, если он отсутствует / неверен. Это означает, что если пользователь публикует комментарий, он публикует:

/posts/comment

который будет перенаправлять на:

/posts/1/

и затем перенаправить на:

/posts/1/article-title

перед комментарием отображаются ошибки. Это работает нормально для меня на моем тестовом сервере, но я столкнусь с какими-то конкретными проблемами с этим вторым перенаправлением? Я спрашиваю, потому что посты / вопросы, которые я прочитал, предполагают, что TempData нужно использовать сразу после перенаправления. Если это не так, данные могут быть потеряны между запросами, и мне интересно, может ли мой второй редирект вызвать это.

1 ответ

Решение

В MVC 2 и 3 TempData всегда доступен для доступа один раз. После доступа к данному ключу временные данные уничтожаются.

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