我正在用 ASP.NET MVC 编写一个简单的博客平台。我的问题是关于部分视图中包含的表单以及处理来自控制器的响应、验证错误或成功。
我有一个博客文章项目视图,它有一个关联的控制器,该控制器返回给定 URL 的帖子。嵌入在这个视图中的是一个局部视图,其中包含一个用于提交对帖子的评论的表单。部分视图表单提交给处理添加评论的单独控制器。在添加注释操作中,我执行验证并向 ModelState 对象添加错误。
问题是我必须在部分视图操作上返回一个 RedirectResult 以便用户返回到原始帖子项目,这意味着我丢失了 ModelState 对象或我想要返回的任何成功消息。
我见过有人提到使用 TempData 将验证或成功信息传递回原始视图,但对我来说这听起来有点骇人听闻。这真的是解决方案吗?如果是这样,任何人都可以推荐一个很好的用法示例吗?如果不是,这是否表明我选择的架构存在更大问题?