所以,我有一个标记的枚举:
[Flags]
public enum SiteVisibilityFlags : short
{
None = 0,
Corporate = 1,
Properties = 2,
Kiosk = 4
}
问题是,无论我怎么设置它,'无'总是如此......无论如何。说我这样设置:
..., SiteVisibilityFlags = Enums.SiteVisibilityFlags.Corporate ...
然后尝试查看它:
<dd>
@foreach (Enums.SiteVisibilityFlags svf in Enum.GetValues(typeof(Enums.SiteVisibilityFlags)))
{
@Html.CheckBox("SiteVisibilityFlags", (Model.SiteVisibilityFlags.HasFlag(svf)), new { value = svf, disabled = "disabled" })
@Html.Label("SiteVisibilityFlagsLabel", svf.ToString())
@:
}
</dd>
这里,对于'None',Model.SiteVisibilityFlags.HasFlag(svf)始终为true,它不应该是。在db中验证,值为'1'...但仍然检查无。我已经尝试了单个以及公司,属性和Kiosk组合的每个排列,复选框按预期工作,根据标志值检查和取消选中,但“无”始终检查/为真。
我错过了什么?