原谅我的无知。没有做很多 MVC 工作,我确信一定有更好的方法来做到这一点,但我似乎找不到它。我有一个这样的标志枚举:
[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 中的相关概念是什么?