none
CARGAR UN @Html.DropDownListFor con VIEWBAG RRS feed

  • 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.

    domingo, 25 de agosto de 2013 19:25

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

    Html.DropDownListFor()

    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

    lunes, 26 de agosto de 2013 2:48

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

    Html.DropDownListFor()

    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

    lunes, 26 de agosto de 2013 2:48
  • 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.


    lunes, 26 de agosto de 2013 5:05
  • como arias en visual basic??
    viernes, 16 de marzo de 2018 2:56