我创建了一个EF4.1的代码优先模型(可能重要,也可能不重要),现在我尝试获取我的创建脚手架模板的默认值。我的模型如下:
class Person {
[DefaultValue (18)]
public int Age { get; set; }
}
然后我的Create视图看起来像:
<div class="editor-label">
@Html.LabelFor(model => model.Age)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Age)
@Html.ValidationMessageFor(model => model.Age)
</div>
我在运行时期望EditorFor能用“18”预先填充文本框,但它并没有这样做。我是否误解了DefaultValue属性的作用,或者还有其他需要我做的事情?
注意:我不想在EditorFor方法上使用new { Value = "18" }
覆盖,因为这似乎违反了DRY原则。
using System.ComponentModel
- http://msdn.microsoft.com/en-us/library/system.componentmodel.defaultvalueattribute.aspx - Kenji Kina