だから、私はフラグ付きの列挙型を持っています:
[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>
ここで、Model.SiteVisibilityFlags.HasFlag(svf) は「None」に対して常に true であり、そうであってはなりません。データベースで検証され、値は「1」です...しかし、なしはまだチェックされています。Corporate、Properties、および Kiosk の単一および組み合わせのすべての順列を試してみました。
私は何が欠けていますか?