EF4.1コードファーストモデルを作成しました。重要ではないかもしれませんが、私はCreate scaffoldテンプレートのデフォルト値を取得しようとしています。以下のように見え、その後デフォルト値を使用してモデルのプロパティに注釈を付ける
class Person {
[DefaultValue (18)]
public int Age { get; set; }
}
とビューを作成し、私の:のように私のモデルに見える私は、実行時に期待される
<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を中断すると思われます。
私はすでにどちらか動作していないようでしたコンストラクタに年齢プロパティを設定してみてくださいなかったことを追加する必要があります。ビューはPersonに強く型付けされています。しかし、私が見逃していたのは、新しいPersonをビューに渡すことでした。それは私が望んだことでした、あなたのソリューションは十分乾燥しています:)(私はDefaultValueを完全に省略し、コンストラクタを使用しています) –
DefaultValue属性にはどのようにアクセスしますか?私はそれを見つけることができません。 – Johannes
@Johannesおそらくあなたは 'using System.ComponentModel'を見逃しています - http://msdn.microsoft.com/en-us/library/system.componentmodel.defaultvalueattribute.aspx –