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 № 1Está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);