Asp.net mvc 3 ModelState.IsValid与自定义视图结果一致
我创建了一个从ViewResult继承的自定义视图结果。在我的控制器中,我检查ModelState.IsValid是否有效,然后返回我的自定义视图。我发现这些错误似乎没有进入视图。以下是我的查看结果:Asp.net mvc 3 ModelState.IsValid与自定义视图结果一致,asp.net-mvc-3,Asp.net Mvc 3,我创建了一个从ViewResult继承的自定义视图结果。在我的控制器中,我检查ModelState.IsValid是否有效,然后返回我的自定义视图。我发现这些错误似乎没有进入视图。以下是我的查看结果: public class EnrichedViewResult<T> : ViewResult { public EnrichedViewResult(string viewName, T model) { this.ViewName = view
public class EnrichedViewResult<T> : ViewResult
{
public EnrichedViewResult(string viewName, T model)
{
this.ViewName = viewName;
this.ViewData.Model = model;
}
public override void ExecuteResult(ControllerContext context)
{
base.ExecuteResult(context);
}
}
我认为您应该将
ViewData
对象传递给您的结果;因为那是ModelState
的容器;不仅仅是模型。通常,然后通过使用控制器的ViuewData作为起点,在模型中写入(签出基本控制器),来快捷地创建/传递ViewData
从这段代码来看,它没有任何方法
ModelState
可以进入视图。感谢您的更新!非常有用!
public EnrichedViewResult<T> EnrichedView<T>(string viewName, T model){
return new EnrichedViewResult<T>(viewName, model);
}
public EnrichedViewResult<T> EnrichedView<T>(string viewName, T model){
if (model != null) {
ViewData.Model = model;
}
return new EnrichedViewResult<T>(viewName, ViewData);
}