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..

因为你只有两个值,所以你总是有 0 或 1。这可以解析为布尔值。请注意,这是一个非常肮脏的解决方案。

当你使用:

Boolean.Parse((int)model.Type)

你会得到一个布尔值。A = 假,S = 真

但是我不建议使用这种方法

于 2013-04-26T09:24:50.537 回答