我有一个场景,控制器A中的视图将其表单发布到控制器B中的操作,然后在该操作中验证数据,如果任何验证失败,则将错误添加到ModelState,然后执行操作,重定向回控制器A,以便填充验证消息。
我遇到的问题是,当我返回控制器A时,视图似乎没有发现任何验证错误。 ModelState是否仅存在于一个控制器的状态中?
答案 0 :(得分:1)
Modelstate本质上是视图数据,因此它的生命周期仅适用于请求。您需要的工作是将模型状态存储在TempData
中。有关于它的博客文章here。
using MvcContrib.Filters;
[ModelStateToTempData]
public class MyController : Controller {
//
...
}