0
我有以下for循环,其中Type是一个枚举。我想通过表单循环,并为每个路线允许下拉类型。如何在for循环中执行EnumDropdownListFor
@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 - 这是我正在使用的帮手,它不是我自己的。
而且你应该使用强类型的辅助的其他属性也'@ Html.HiddenFor(M => m.Routes [I] .ID)'和'@ Html.CheckBoxFor(M = > m.Routes [i] .IsChecked)':) –
同意,谢谢。我注意到,当我试图弄清楚事情时,这不是最好的方法。 – devfunkd