Principales respuestas
CARGAR UN @Html.DropDownListFor con VIEWBAG

Pregunta
-
Amigos, necesito generar un control SELECT utilizando el helper @Html.DropDownListFor, tengo problemas en los parámetros a colocar.
El control deberá cargar Categorias, por tal razón el action envía un VIEWBAG con dicha información:
ViewBag.Categorias = new selectlist(db.Categorias, "CatID", "CatDesc");
y en la vista intento hacer lo siguiente:
@Html.DropDownListFor(model => model.Productos.Categoria, "Categorias", String.Empty)
Al hacer eso me marca la línea con error por un tema de utilizar incorrectamente las sobrecargas. Agradeceré su apoyo para que me indiquen que estoy haciendo mal.
Agrego que uso DropDownListFor porque no es un campo del model de la vista, sino de una clase relacionada.
Respuestas
-
hola
si utilizas el intellisense del VS para analizar los parametros que espera el DropDownListFor() que puedes observar ?
porque creo que esta faltando que indiques la lista que items
si analizas la doc veras que en nunguna sobrecarga se espera un string con el nombre de la propiedad del ViewBag, en todas se espera un IEnumerable<SelectListItem>
el poner esto
@Html.DropDownListFor(model => model.Productos.Categoria, "Categorias", String.Empty)
es incorrecto
http://social.msdn.microsoft.com/Forums/es-ES/91f0fb5f-da98-466a-bce8-75e1537f124c/iniciando-en-mvc-como-recuperar-los-datos-de-una-vista-
saludos
Leandro Tuttini
Blog
Buenos Aires
Argentina- Marcado como respuesta Willams Morales lunes, 26 de agosto de 2013 5:04
Todas las respuestas
-
hola
si utilizas el intellisense del VS para analizar los parametros que espera el DropDownListFor() que puedes observar ?
porque creo que esta faltando que indiques la lista que items
si analizas la doc veras que en nunguna sobrecarga se espera un string con el nombre de la propiedad del ViewBag, en todas se espera un IEnumerable<SelectListItem>
el poner esto
@Html.DropDownListFor(model => model.Productos.Categoria, "Categorias", String.Empty)
es incorrecto
http://social.msdn.microsoft.com/Forums/es-ES/91f0fb5f-da98-466a-bce8-75e1537f124c/iniciando-en-mvc-como-recuperar-los-datos-de-una-vista-
saludos
Leandro Tuttini
Blog
Buenos Aires
Argentina- Marcado como respuesta Willams Morales lunes, 26 de agosto de 2013 5:04
-
Gracias Leandro, efectivamente ninguna sobrecarga espera un string. Lo solucione de la siguiente manera para quienes tengan este mismo problema
@Html.DropDownListFor(model => model.Productos.Categoria, (SelectList)ViewBag.Categorias, String.Empty)
haciendo un cast al viewbag. Espero les sirva.
- Editado Willams Morales lunes, 26 de agosto de 2013 5:05
-