asp.net mvc выпадающая проблема - PullRequest
2 голосов
/ 01 августа 2010

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

ViewData["JobSite_JobCategories1"] = new SelectList(context.JobSite_JobCategories, "Id", "Category", null);

<%= Html.DropDownList("JobCategory", ((IEnumerable<SelectListItem>)ViewData["JobSite_JobCategories1"]))%>
<%= Html.ValidationMessageFor(model => model.JobCategory) %>

Проверка не работает, а также после того, как я улавливаю ошибку, я заполняю данные просмотра["JobSite_JobCategories1"] снова с selectlist, но все равно выдает ошибку

Нет элемента ViewData типа 'IEnumerable', который имеет ключ 'JobCategory'.

Пожалуйста, кто-нибудь может предложить мне решение этой проблемы, любые статьи, образцы, ссылки.

1 Ответ

2 голосов
/ 01 августа 2010

В основном все выглядит правильно.

Вы правильно строите SelectList здесь:

ViewData["JobSite_JobCategories1"] = new SelectList(context.JobSite_JobCategories, "Id", "Category", null); 

Я не уверен, почему вы не просто приводите это к тому, что здесь есть, SelectList:

<%= Html.DropDownList("JobCategory", (SelectList)(ViewData["JobSite_JobCategories1"]))%>

По какой причине вы не используете DropDownListFor для его создания? Например:

<%= Html.DropDownList(m => m.JobCategory, (SelectList)(ViewData["JobSite_JobCategories1"]))%>

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

Лучший способ реализации DropDownList в ASP.NET MVC 2?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...