在.Net MVC中创建一个复选框数组

时间:2014-07-30 19:16:37

标签: asp.net-mvc-5

我有一个应用程序需要选择服务可用的所有州(美国)。为方便起见,我试图从enum" State",displayu数组创建列表作为复选框,并将所选内容保存到数据库。无法找出创建它的最佳方法。

这是班级:

public class Offering
    {
        public int OfferingID { get; set; }
        public string Name { get; set; }
        public IList<State> States { get; set; }
    }

public enum State
    {
        AL, AK, AZ, CA, CO, CT, DC, DE, FL
    }

MVC的新手,所以非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

无需编写自己的模型绑定器的最简单方法是这样的:

<table>
<thead>
    <tr>
        <td></td>
        <td>State</td>
    </tr>
</thead>
<tbody>
    @foreach (State state in Enum.GetValues(typeof(State)))
    {
        <tr>
            <td>@Html.CheckBoxFor(model => model.States[state.ToString()].IsStateSelected)</td>
            <td>@state.ToString()</td>
        </tr>
    }
</tbody>

使用这种方法,您需要创建一个新类StateViewModel:

class StateViewModel
{
    public bool IsStateSelected { get; set; }
}

以及您的“产品”模型中的其他属性

public Dictionary<string, bool> States { get; set; }