Установить DropDownListFor - PullRequest
       14

Установить DropDownListFor

0 голосов
/ 17 января 2012

У меня есть это в моей модели, содержание полный список стран:

public IList<LookupCountry> LookupCountry { get; set; };
public int SelectedCountry { get; set; }

выглядит так

public class LookupCountry : ILookup
{
    public virtual int Id { get; set; }
    public virtual int Code { get; set; }
    public virtual string FR { get; set; }
}

public interface ILookup
{
    int Id { get; set; }
    int Code { get; set; }
    string FR { get; set; }
}

В представлении я хотел бы показать список стран и выбранное значение.

@Html.DropDownListFor(c => c.LookupCountry.Id,  
    new SelectList(Model.LookupCountry, 
    "Id", 
    "Value", 
    Model.SelectedCountry), 
    "-- Select Country --")

Когда я делаю это, у меня возникает ошибка, Id в c => c.LookupCountry.Id недоступен в представлении.

Есть идеи?

Спасибо

Ответы [ 2 ]

0 голосов
/ 17 января 2012

Это потому, что LookupCountry в вашей модели имеет тип IList<LookupCountry>.Список в целом не содержит id, все его члены по одному содержат id.Возможно, вы хотите переписать свой метод следующим образом

@Html.DropDownListFor(c => c.SelectedCountry,  
    new SelectList(Model.LookupCountry, 
    "Id", 
    "Value", 
    Model.SelectedCountry), 
    "-- Select Country --")
0 голосов
/ 17 января 2012

Изменение c.LookupCountry.Id на c.SelectedCountry должно помочь. Поскольку LookupCountry - коллекция стран, для нее нет свойства Id. И вы хотите привязать выбранное значение из выпадающего списка к свойству SelectedCountry.

@Html.DropDownListFor(c => c.SelectedCountry,  
    new SelectList(Model.LookupCountry, 
    "Id", 
    "Value", 
    Model.SelectedCountry), 
    "-- Select Country --")
...