場合によります。
data model
1) (ビュー以外に)アクセスできる他のコードがある場合、おそらく、この Status プロパティを列挙型にする必要があります。このサードパーティのコードがあなたの論理を壊さないように。とにかく、今そのようなコードを持っていない場合でも、前方互換性のために enum を使用することをお勧めします: mabby あなたまたは他の開発者が将来それを追加します。これはベスト プラクティスです。私見、これは必須です。
2) ビューモデルで列挙型を使用するのはどうですか? 私見、これはオプションです。入力を検証したい場合は、おそらくコントローラーのアクションメソッドでサーバー上で行うことになるからです。ラジオボタンを使用する場合は、コントローラーで入力を検証する必要さえありません。あなたのビューでこれを使用してください:
@model path.YourViewModel
@using YourEnumNamespace; /* where You defined Your Status enum */
@using (Html.BeginForm("YourMethod", "YourController", FormMethod.Post, null))
{
<fieldset>
<div>
@foreach (var enumValue in Enum.GetValues(typeof(Status)))
{
<div>
@Html.Label(enumValue.ToString())
@Html.RadioButtonFor(model => model.Title, enumValue)
</div>
}
</div>
<input type="submit" value="Save"/>
</fieldset>
}
上記のコードのように列挙値を列挙するだけです。
要約すると、ビューモデルで型を使用する必要はありませんがenum
、前方互換性をenum
考慮してデータモデルで型を使用することをお勧めします。