mvc3默认值

时间:2011-10-08 20:53:56

标签: asp.net-mvc-3 model attributes

如何定义模型属性的默认值? 属性DefaultValue无效:

    [DisplayName("Infos")]
    [DefaultValue("Test")]
    [DataType(DataType.MultilineText)]
    public object infos { get; set; }

1 个答案:

答案 0 :(得分:7)

DefaultValue不会用于您认为的目的。

来自DefaultValueAttribute MSDN page

  

您可以使用任何值创建DefaultValueAttribute。成员的默认值通常是其初始值。可视设计器可以使用默认值来重置成员的值。代码生成器也可以使用默认值来确定是否应该为成员生成代码。

     

注意:DefaultValueAttribute不会导致使用属性的值自动初始化成员。您必须在代码中设置初始值。

为什么不在模型的构造函数中设置默认值?

public class MyModel {
    public MyModel() { infos = "Test"; }

    [DisplayName("Infos")]
    [DataType(DataType.MultilineText)]
    public ojbect infos { get; set; }
}

编辑:

由于您似乎正在使用EF模型,并且您想要设置默认值。您只需使用构造函数创建一个分部类。

public partial class MyEntity {
    public MyEntity() { infos = "Test"; }
}