/ / Problema con ASP.NET MVC DropDownList que no muestra el valor seleccionado - asp.net, asp.net-mvc, drop-down-menu

Problema con ASP.NET MVC DropDownList no muestra el valor seleccionado - asp.net, asp.net-mvc, menú desplegable

Tengo una página aspx que me permite editar artículos. Entre las cosas que puedo editar es a qué categoría pertenece el artículo. La categoría se elige a través de DropDownList como se muestra aquí,

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

Sin embargo, la categoría de artículos no se selecciona cuando voy a esa página. El ViewData que uso para DropDownList tiene este aspecto,

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

Que debe seleccionar el artículo. Id. De categoría como valor seleccionado. ¿He hecho esto mal?

Respuestas

1 para la respuesta № 1

Estás asignando el ViewData propiedad a SelectList, pero lanzándolo a IEnumerable<SelectListItem> - intente escribir directamente en SelectList en lugar:

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

0 para la respuesta № 2

Lo mejor que puedo sugerir es que se asegure de que su clase "Categoría" tenga una propiedad llamada "IdCategoría" y no sea solo "ID". Por lo que nos ha dado, esa es la mejor suposición que puedo hacer sobre el problema.

Si es solo "ID", entonces su función deberá ir:

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