как мне вернуть выбранный список обратно с выбранным элементом (asp.net mvc 2) - PullRequest
0 голосов
/ 04 июня 2010

Я пытаюсь сделать представление в ASP.NEt mvc 2 с помощью selectList.

Я пополняю список языков для выбора из моей модели (regDom)

listLangModel - это список языков, которые я извлекаю из базы данных.

regDom.Languages ​​= от l в listLangModel

               select new SelectListItem
                     {
                        Text = l.Name,
                        Value = l.ID
                     };

На мой взгляд, у меня есть это

        <div class="editor-label">
            <%: Html.LabelFor(model =>> model.Languages) %>
        </div>
        <div class="editor-field">
            <%: Html.DropDownListFor(model =>  model.Languages, Model.Languages) %>
            <%: Html.ValidationMessageFor(model => model.Languages) %>
        </div>

Когда я запускаю, языки находятся в выпадающем списке на моей странице. Но когда я отправляю его обратно на свой сервер, модель больше не содержит языки. И я не могу проверить, какой язык выбран на странице.

1 Ответ

1 голос
/ 04 июня 2010

Пользователь может выбрать только один язык из выпадающего списка, поэтому вы не можете ожидать, что он заполнит свойство Languages вашей модели, которая является коллекцией.

Добавьте свойство для хранения выбранного языка в вашей модели:

public string SelectedLanguage { get; set; }

, а затем привязать раскрывающийся список к этому свойству:

<%: Html.DropDownListFor(model => model.SelectedLanguage, Model.Languages) %>
...