Проблемы с использованием 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 всегда доступен для доступа один раз. После доступа к данному ключу временные данные уничтожаются.