在mvc 4中创建一个没有布尔值的复选框?

时间:2013-04-26 09:18:03

标签: asp.net-mvc asp.net-mvc-4

所以我有以下枚举:

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它需要一个布尔类型,有没有办法解决这个问题并继续使用我的enumtype而不是创建一个布尔值(因为枚举用于多个类,我必须做很多事情如果我要将其更改为布尔值,则更改

1 个答案:

答案 0 :(得分:3)

您可以将枚举解析为布尔值,因为枚举类型也是int值:

A = 0,S = 1 ..

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

使用时:

Boolean.Parse((int)model.Type)

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

但我不建议使用这种方法