Как привязать DropDownListFor к IList ‹T›

Я пытаюсь привязать свойство IList к DropDownListFor (). Список отображается, данные из раскрывающегося списка успешно отправляются в базу данных, однако не отображаются при повторной загрузке страницы. Правильный вариант не выбран на основе значения ClubTeamID. Всегда выбирается значение по умолчанию (-). Остальные поля ввода, кнопки и флажки на странице отлично работают при сохранении и перезагрузке. Что-то еще мне не хватает?

Мое мнение (соответствующий код):

@model IList<SolidarityContract>
...
@if (Model != null)
{
    for (var i = 0; i < Model.Count; i++)
    {
    ...

        <td>@Html.DropDownListFor(model => Model[i].ClubTeamID,Model[i].TeamsList, "--", htmlAttributes: new { @class = "form-control" })</td>
        <td>@Html.EditorFor(model => Model[i].Club, new { htmlAttributes = new { @class = "form-control input-sm" } })</td>
    ...
    }
}

Мой класс (соответствующие свойства):

public class SolidarityContract{

    public SolidarityContract()
    {
        TeamsList = SelectLists.TeamsGet();
    }

    public SelectList TeamsList { get; set; }
    public Nullable<long> ClubTeamID { get; set; }
    ...

}

Список выбора:

public static  SelectList TeamsGet()
    {
        using (var db = new OlympiacosPlayerMSDBEntities())
        {

            IEnumerable<CustomSelectList> cpd = (from comp in db.Team
                                                 where comp.IsDeleted == false
                                                 select new CustomSelectList 
                                                 { ID = comp.ID.ToString(), 
                                                     Description = (comp.TeamCategoryID==1?"ΠΕΛ: ":"ΠΡΟ: ") +comp.Name }).ToList<CustomSelectList>().OrderBy(c => c.Description);
            return new SelectList(cpd, "ID", "Description");
        }
    }

person Georgia Kalyva    schedule 22.03.2017    source источник
comment
Вы имеете в виду, что правильный вариант не выбран на основе значения ClubTeamID (и всегда выбирается первый вариант)?   -  person    schedule 22.03.2017
comment
Да именно то, что я имею в виду.   -  person Georgia Kalyva    schedule 22.03.2017
comment
Вариант EditorTemplate в дублировании лучше всего, но вы можете изменить свой метод на public static SelectList TeamsGet(int selected) { ..... return new SelectList(cpd, "ID", "Description", selected); }, чтобы создать новый SelectList для каждого SolidarityContract в коллекции (передав ему ClubTeamID)   -  person    schedule 22.03.2017
comment
Да, сейчас пробую. Спасибо.   -  person Georgia Kalyva    schedule 22.03.2017
comment
Пробовал второй вариант, и он сработал !!   -  person Georgia Kalyva    schedule 22.03.2017