我有一个名为FitToPlay的属性,它包含一个没有受伤的玩家列表。我想要做的是为一个团队中的每个位置制作一个下拉框,并且只在下拉框中填充适合播放列表中的玩家,这些玩家可以将这个位置作为他们的主要或次要位置。
我想知道的是如何使用html下拉框助手显示特定对象。
非常感谢提前。
Ĵ
答案 0 :(得分:0)
我认为你想循环遍历每个位置并且循环内部通过所有当前的FitToPlay玩家,如果他的第一个或第二个位置是当前循环的位置然后将他插入其中...最后如果有人插入了创建下拉列表
类似......
//Loop through all the positions
foreach (var position in Model.positions)
{
//Create a list for each position
List<SelectListItem> playersInPosition = new List<SelectListItem>();
//Only loop through players with the current position as either primary or secondary
foreach(var player in Model.FitToPlay.Where(pl => pl.primary == position || pl.secondary == position))
{
//Put this player into the list
playersInPosition.add(new SelectListItem { Text = player.name, Value = player.id});
}
//If at least one fits the criteria make a drop down list from it
if(playersInPosition != null && playersInPosition.Count > 0)
{
@Html.DropDownList(position.name, playersInPosition);
}
}