C# 如何在for循环中执行EnumDropdownListFor

C# 如何在for循环中执行EnumDropdownListFor,c#,.net,asp.net-mvc,for-loop,enums,C#,.net,Asp.net Mvc,For Loop,Enums,我有以下for循环,其中类型是枚举。我想在表单中循环,对于每个路由,允许下拉类型 @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].Typ

我有以下for循环,其中类型是枚举。我想在表单中循环,对于每个路由,允许下拉类型

    @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
}
@for(int i=0;i
索引++;
}
公共类RouteModel
{
公共Guid Id{get;set;}
公共路由类型{get;set;}
公共整数{get;set;}
公共字符串名称{get;set;}
公共bool IsActive{get;set;}
已检查公共布尔值{get;set;}
}
公共枚举路由类型
{
过境,,
空气,
公共汽车
}
我似乎不知道如何使MVC5 EnumDropDownListFor助手在for循环中工作。看起来我可能做不到,但我想我会问一下,万一有人有同样的问题,发现了替代方案或让他们的工作


EnumDropDownListFor(MSDN)-这是我正在使用的帮助程序,它不是我自己的。

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


您还应该对其他属性使用强类型帮助程序
@Html.HiddenFor(m=>m.Routes[i].ID)
@Html.CheckBoxFor(m=>m.Routes[i].IsChecked)
:)同意,谢谢。我注意到,当我试图解决问题时,这并不是最好的方法。
@Html.EnumDropDownListFor(model => Model.Routes[i].Type, "None")