【发布时间】:2011-10-16 21:27:56
【问题描述】:
我正在使用 TempData 为从 ChildAction 呈现的表单保留 ModelState 错误。该表单允许用户在博客文章上发表评论。如果 ModelState 无效,则会将错误复制到 TempData,然后我会重定向到我的 ShowPost 操作,该操作会通过 ChildAction 显示评论表单,并包含验证错误。
我担心的是,我实际上在将 ModelState 错误保存到 TempData 和在 ChildAction 中重新显示它们之间进行了两次重定向。这是因为在我的 ShowPost 操作中,我还在检查是否存在与当前帖子匹配的有效 slug,然后如果它丢失/不正确,则重定向以包含该 slug。这意味着如果用户发表评论,他们会发布到:
/posts/comment
将重定向到:
/posts/1/
然后重定向到:
/posts/1/article-title
在显示评论错误之前。这在我的测试服务器上对我来说工作正常,但是我会在第二次重定向时遇到任何特殊问题吗?我问是因为我读过的帖子/问题表明 TempData 需要在重定向后直接使用。如果不是,数据可能会在请求之间丢失,我想知道我的第二次重定向是否会导致这种情况。
【问题讨论】:
-
你能指出你读过的哪些问题让你有这样的想法吗?他们需要被否决或评论,因为自 MVC 1 以来这已经发生了变化。
标签: asp.net-mvc redirect modelstate tempdata