ASP.NET MVC绑定 - 重复的消息

时间:2010-06-10 19:12:44

标签: asp.net-mvc binding

我正在使用ASP.NET MVC绑定框架。

假设我有一个类Item,它有一个必填字段Id。

我正在绑定一个List,并且不希望此列表中的每个元素都有一条错误消息。

如果在绑定Id字段时发生多个错误,我只希望将一条消息添加到ModelState并显示给用户。

用一句话:有没有办法使用ASP.NET MVC Binding Framework避免重复的消息?

1 个答案:

答案 0 :(得分:1)

您可以创建自己的解决方案。例如,模型绑定器可以将模型错误添加为特殊的ModelItemException对象。然后,ActionFilter或基本控制器的OnActionExecuted()方法将遍历ModelState错误,在那里获取所有ModelItemException错误,并将它们合并为单个错误。或者你可以有这样的例外来实现像

这样的东西
public interface IItemError
{
   public object ItemKey { get; set; }
   public string Merge(params Exception[] itemErrors);
}

随意进一步改善这个想法。