0

だから私は次の列挙型を持っています:

public enum Type
{
A ,
S
}

現時点では、この列挙型を使用するビューに次のコードがあります。

<div class="editor-label">
@Html.Label("Type")
</div>
<div class="editor-field">
@Html.DropDownListFor(model => model.Type, new SelectList(Enum.GetValues(typeof(Project.Domain.POCO.Type))))
@Html.ValidationMessageFor(model => model.Type)
</div>

ただし、元のアイデアは、ドロップダウンリストではなくチェックボックスを使用することでした。これは一時的な解決策にすぎません。@Html.CheckBoxFor を使用しようとするたびに、ブール型が必要になります。これを回避し、ブール型を作成する代わりに列挙型を使用し続ける方法はありますか (列挙型は複数のクラスで使用され、多くのクラスを作成する必要があるため)ブール値に変更した場合の変更の数)

4

1 に答える 1

3

列挙型も int 値であるため、列挙型をブール値に解析できます。

A = 0、S = 1..

値が 2 つしかないため、常に 0 または 1 になります。これは bool に解析できます。これは非常に汚い解決策であることに注意してください。

使用する場合:

Boolean.Parse((int)model.Type)

あなたはブールを得るでしょう。A = 偽、S = 真

ただし、このアプローチの使用はお勧めしません

于 2013-04-26T09:24:50.537 に答える