none
DropDownListFor RRS feed

  • Pregunta

  • Buenas, estoy empezando a trabajar con C#, MVC 3.

    Tengo la siguiente consulta.

    Cargo un DropDownListFor con datos de una tabla.

    Esto lo hice en el controller.cs

             IEnumerable<Parametro> estado = db.Parametroes
                 .Where(p => p.tipoTabla == "Accesorio")
                 .OrderBy(p => p.nombre)
                 .ToList();
                ViewBag.estado = estado;
                return View(accesorio);

    Esto lo hice en el CSHTML

             <td>

                    @Html.DropDownListFor(Model => Model.estado, new SelectList(ViewBag.estado as System.Collections.IEnumerable,
                    "idParametro", "nombre"),
                    "Selecione un Estado", new { id = "idParametro" })
                    @Html.ValidationMessageFor(model => model.estado)
                </td>
    Esto lo muestra bien pero cuando quiero editar los campos de la tabla, cuando cargo el combo quiero que aparezca seleccionado el datos

    en el combo, se me muestra toda la lista eso esta bien pero no se como seleccionar un items para que cuando se cargue aparezcaposicionado.  

    Gracias...

    jueves, 15 de marzo de 2012 17:11

Respuestas

  • Hola!

    Puedes hacerlo de varias formas, pero lo más sencillo sería aprovechar que el constructor de SelectList admite un cuatro parámetro en el que puedes indicar el valor seleccionado inicialmente en el desplegable:

     @Html.DropDownListFor(Model => Model.estado,
                     new SelectList(
                                           ViewBag.estado as System.Collections.IEnumerable,
                                          "idParametro",
                                          "nombre",
                                          Model.Valor                // <- El valor del elemento seleccionado por defecto
                     ),
                    "Selecione un Estado", new { id = "idParametro" })

    Un saludo.


    José M. Aguilar
    Variable not found

    • Marcado como respuesta Eder Costa viernes, 26 de octubre de 2012 14:48
    martes, 20 de marzo de 2012 18:44