MVC динамически генерирует DropDownLists - PullRequest
0 голосов
/ 10 марта 2011

Вот моя ViewModel,

открытый класс FormGroupsAssociationViewModel: BaseViewModel {

    public FormGroupsAssociationViewModel()
    {
        FormTypeFormGroupViewModels = new List<FormTypeFormGroupViewModel>();
    }

    public FormGroupsAssociationViewModel(IList<FormTypeFormGroupViewModel> formTypeFormGroupViewModels)
    {
        this.FormTypeFormGroupViewModels = formTypeFormGroupViewModels;

    }

    public IList<FormTypeFormGroupViewModel> FormTypeFormGroupViewModels { get; set; }

}

открытый класс FormTypeFormGroupViewModel {

    public FormTypeFormGroupViewModel()
    {

    }

    public FormTypeFormGroupViewModel(FormType formType, IEnumerable<FormGroup> formGroups)
    {
        this.FormTypeId = formType.FormTypeID;
        this.Title = formType.Title;
        this.FormGroups = new SelectList(formGroups, "FormGroupId", "Title",  "3");
    }

    public int FormTypeId;
    public string Title;
    public SelectList FormGroups;
    public int SelectedFormGroup;

}

и вот вид:

@for (int i = 0; i < Model.FormTypeFormGroupViewModels.Count; i++)
        {
            <tr>
                <td>
                    @Model.FormTypeFormGroupViewModels[i].Title
                </td>
                <td>
                    @Html.DropDownListFor(model => Model.FormTypeFormGroupViewModels[i].SelectedFormGroup, Model.FormTypeFormGroupViewModels[i].FormGroups)
                </td>
            </tr>
        }

и, наконец, контроллер:

[HttpPost]
    [UnitOfWork]
    public String Associations(FormGroupsAssociationViewModel model)
    {

        String s = string.Empty;

        foreach (var formTypeFormGroupViewModel in model.FormTypeFormGroupViewModels)
        {
            s = s + formTypeFormGroupViewModel.SelectedFormGroup.ToString();
        }

        return s;

    }

У меня проблема в том, что SelectedFormGroup возвращает 0, а не фактическое значение selectedValue. Если у кого-то есть идеи, они будут очень благодарны.

Приветствия

Gareth

1 Ответ

0 голосов
/ 10 марта 2011

Решено это,

В моей ViewModel SelectedFormGroup был объявлен так:

public int SelectedFormGroup;

Это необходимо изменить на:

public int SelectedFormGroup{get; set;}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...