2010-01-30 7 views
2

У меня есть страница aspx, которая позволяет редактировать статьи. Среди вещей, которые я могу изменить, относится к категории, к которой принадлежит статья. Категория выбирается через DropDownList, как показано здесь,Проблема с ASP.NET MVC DropDownList не отображает выбранное значение

<%= Html.DropDownList("categoryID", (IEnumerable<SelectListItem>)ViewData["CategoryID"], new { @class = "textbox" }) %> 

Однако категория статей не выбран, когда я иду на эту страницу. ViewData я использую для DropDownList выглядит так,

ViewData["CategoryID"] = new SelectList(categories, "CategoryID", "Title", article.CategoryID); 

Который должен выбрать article.CategoryID как это выбранное значение. Я сделал это неправильно?

ответ

1

Вы назначая ViewData свойством а SelectList, но литье его IEnumerable<SelectListItem> - попробуйте ввести непосредственно SelectList вместо:

<%= Html.DropDownList("categoryId", (SelectList)ViewData["CategoryID"], new { @class = "textbox" }) %> 
+0

Нет, это не имеет никакого значения. При переходе к editArticle.aspx выпадающий список по-прежнему не отображает правильную категорию для статьи. – Jova

0

Лучшее, что я мог бы предположить, что вы обеспечиваете ваш класс «Категория» имеет свойство «CategoryID» и не просто «ID». Из того, что вы нам дали, это лучшая догадка, что я могу решить проблему.

Если это просто «ID», то ваша функция будет нужно идти:

ViewData["CategoryID"] = new SelectList(categories, "ID", "Title", article.CategoryID);