私の無知を許してください。多くの MVC 作業を行っていません。これを行うためのより良い方法があるに違いないと確信していますが、それを見つけることができないようです。次のような Flags 列挙型があります。
[Flags]
public enum Services
{
Foo = 1,
Bar = 2,
Meh = 4
}
そして、このタイプの値を持つモデルの SelectedServices プロパティ。ビューには、可能なサービスごとにチェックボックスがあります。私は次のようにバインディングロジックを実装しました:
<div><label><input type="checkbox" name="services" value="@((int)Services.Foo)"
@if(Model.SelectedServices.HasFlag(Services.Foo))
{
<text>checked</text>
}
/>Foo</label></div>
<div><label><input type="checkbox" name="services" value="@((int)Services.Bar)"
@if(Model.SelectedServices.HasFlag(Services.Bar))
{
<text>checked</text>
}
/>Bar</label></div>
等々。これは機能しますが、本当にひどく面倒です。
これをカプセル化するためのより良い方法が確かにあるに違いありません-しかし、MVCに関連する概念が何であるかわかりませんか?