MVC如果对象具有特定属性值,则显示下拉框

时间:2013-03-14 17:33:09

标签: asp.net-mvc list html-helper dropdownbox

我有一个名为FitToPlay的属性,它包含一个没有受伤的玩家列表。我想要做的是为一个团队中的每个位置制作一个下拉框,并且只在下拉框中填充适合播放列表中的玩家,这些玩家可以将这个位置作为他们的主要或次要位置。

我想知道的是如何使用html下拉框助手显示特定对象。

非常感谢提前。

Ĵ

1 个答案:

答案 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);
   }
}