如何做 EnumDropdownListFor in a for 循环

本文关键字:for 循环 in 何做 EnumDropdownListFor | 更新日期: 2023-09-27 18:34:52

我有以下 for 循环,其中 Type 是一个枚举。我想遍历表单,并为每个路线允许类型下拉列表。

    @for (int i = 0; i < Model.Routes.Count; i++)
    {
        @Html.Hidden("Routes[" + index + "].Id", Model.Routes[i].Id)
        @Html.EnumDropDownListFor("Routes[" + index + "].Id", Model.Routes[i].Type)
        @Html.Hidden("Routes[" + index + "].Name", Model.Routes[i].Name)
        @Html.CheckBox("Routes[" + index + "].IsChecked", Model.Routes[i].IsChecked)
        @Model.Routes[i].Name<br />
        index++;
    }
public class RouteModel
{
    public Guid Id { get; set; }
    public RouteType Type { get; set; }
    public int Number { get; set; }
    public string Name { get; set; }
    public bool IsActive { get; set; }
    public bool IsChecked { get; set; }
}
public enum RouteType
{
    Transit,
    Air,
    Bus
}

我似乎无法弄清楚如何使 MVC5 EnumDropDownListFor 助手在 for 循环内工作。看起来我可能无法做到,尽管我想我会问以防有人遇到同样的问题并发现替代方案或让他们的工作。

EnumDropDownListFor (MSDN( http://msdn.microsoft.com/en-us/library/dn550750(v=vs.118(.aspx - 这是我正在使用的助手,它不是我自己的。

如何做 EnumDropdownListFor in a for 循环

最终是我没有正确的语法,忘记了模型 => 部分。 #n00b

@Html.EnumDropDownListFor(model => Model.Routes[i].Type, "None")