需要在我的视图中将枚举值作为下拉选项

时间:2015-10-14 18:05:18

标签: c# asp.net-mvc

我希望将一个雇员类型设置为Manager或Employee,我创建了一个枚举属性,但无法在我的创建视图中填充Manager和Employee值。

我的模特

        public string LastName { get; set; }
    public enum EmployeeType {Employee, Manager }
    public virtual Store Store { get; set; }
    public int AssignedStore { get; set; }

我的观点

        <div class="form-group">
        @Html.LabelFor(model => model.EmployeeType, htmlAttributes: new { @class = "control-label col-md-2" })
        <div class="col-md-10">
            @Html.EditorFor(model => model.EmployeeType, new { htmlAttributes = new { @class = "form-control" } })
            @Html.ValidationMessageFor(model => model.EmployeeType, "", new { @class = "text-danger" })
        </div>
    </div>

1 个答案:

答案 0 :(得分:1)

您无法引用枚举,就好像它是您模型上的属性一样。你的模型应该是这样的:

''

请注意,枚举是在类外部定义的,然后该类有一个以枚举作为类型的属性。现在,您有一个实际可以保存值的属性,这可以在您的视图中使用:

public class Foo
{
   public string LastName { get; set; }
   public EmployeeType EmployeeType { get; set; }
   public virtual Store Store { get; set; }
   public int AssignedStore { get; set; }
}

public enum EmployeeType
{
    Employee,
    Manager
}