枚举列表的ASP.Net ModelState自动错误

时间:2010-09-03 16:21:41

标签: asp.net asp.net-mvc

我有一个这样的课程

public  class MyClass 
{
    public MyClass()
    {
        Enumlist = new List<MyEnum>();
    }     
    public virtual List<MyEnum> Enumlist { get; set; }
}

和枚举是

public enum MyEnum
{
    Enum1=1,
    Enum2=2,
    Enum3=3
}

但在我看来,我一直有这个错误

“值'System.Collections.Generic.List`1 [MyEnum]'对Enumlist无效”

我没有为属性EnumList指定任何验证属性,所以我不知道为什么会出现自动错误。

请有人帮忙解决这个问题吗?

2 个答案:

答案 0 :(得分:0)

在Asp.Net MVC 2中,它是DataBinding的默认行为。如果模型中有Date字段,则在绑定失败时会自动添加验证错误。枚举也是如此。

答案 1 :(得分:0)

我不知道枚举类型列表是否在ASP.Net MVC中是非法的,但是我通过在枚举上使用枚举标志属性和位操作来组合枚举值来解决这个问题。

关于codeproject的这篇文章(http://www.codeproject.com/Articles/37921/Enums-Flags-and-Csharp-Oh-my-bad-pun.aspx)可以帮助任何人遇到同样的问题。

快乐的编码。