2013-03-14 2 views
0

У меня есть свойство FitToPlay, в котором содержится список игроков, которые не получили травмы. То, что я хочу сделать, это сделать выпадающее поле для каждой позиции в команде и только заполнить выпадающее поле игроками в списке для игры, в котором есть позиция, о которой идет речь, как о своей первичной, так и вторичной позиции.MVC Отображение выпадающего списка, если объект имеет определенное значение свойства

Что я хочу знать, так как я могу просто отображать определенные объекты с помощью html drop down box helper.

Большое спасибо заранее.

J

ответ

0

Я думаю, что вы хотите перебрать каждую позицию и внутри петли пройти через все в настоящее время FitToPlay игроков и если либо его первая или вторичная позиция в настоящее время петельный через положение затем вставить его в нее. . в конце концов, если кто-то вставляли создать DropDownList

Так что-то вроде ..

//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); 
    } 
}