MVC ModelState可以跨多个控制器吗?

时间:2009-04-05 00:11:44

标签: asp.net-mvc

我有一个场景,控制器A中的视图将其表单发布到控制器B中的操作,然后在该操作中验证数据,如果任何验证失败,则将错误添加到ModelState,然后执行操作,重定向回控制器A,以便填充验证消息。

我遇到的问题是,当我返回控制器A时,视图似乎没有发现任何验证错误。 ModelState是否仅存在于一个控制器的状态中?

1 个答案:

答案 0 :(得分:1)

Modelstate本质上是视图数据,因此它的生命周期仅适用于请求。您需要的工作是将模型状态存储在TempData中。有关于它的博客文章here

    using MvcContrib.Filters;

    [ModelStateToTempData]
    public class MyController : Controller {
      //
    ...
    }