ASP.NET - Agregar un item al DropDownList

   
Vista:
Imágen de perfil de Juan Diego

Agregar un item al DropDownList

Publicado por Juan Diego (1 intervención) el 08/01/2018 18:03:19
Muy buenas tardes,

No sé como puedo agregar de forma manual un ítem al elemento html.DropDownList. Tengo una aplicación MVC, la cual en una función del controlador, a través de un ViewBag, devuelve una lista con la información de una tabla de mi base de datos. Esta información se obtiene con Entities.

Código de mi controlador:
1
2
3
4
5
6
7
8
private Entities db = new Entities();
 
// GET: Estadios/Create
public ActionResult Create()
{
   ViewBag.IdPais = new SelectList(db.Pais, "Id", "Nombre");
   return View();
}

Parte de la vista
1
2
3
4
5
6
7
<div class="form-group">
            @Html.LabelFor(model => model.IdPais, htmlAttributes: new { @class = "control-label col-md-2" })
            <div class="col-md-10">
                @Html.DropDownList("IdPais", null, htmlAttributes: new { @class = "form-control" })
                @Html.ValidationMessageFor(model => model.IdPais, "", new { @class = "text-danger" })
            </div>
        </div>

La información carga de forma correcta, pero quisiera que al principio de la lista agregar un espacio en blanco o un mensaje de seleccionar.

Muchas Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Agregar un item al DropDownList

Publicado por jorge (4 intervenciones) el 19/01/2018 10:48:12
Buenos días.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
private Entities db = new Entities();
 
// GET: Estadios/Create
public ActionResult Create()
{
   //Si quisieras agregar un nuevo elemento
   List<Pais> ListadoPaises = db.Pais.ToList();
   Pais pais = new Pais(){
      Id = ListadoPaises.Last().Id + 1,
      Nombre = "NombreDelNuevoPais"
   }
   ListadoPaises.Add(pais);
   ViewBag.ListadoPaises= new SelectList(ListadoPaises, "Id", "Nombre");
   return View();
}

Por otro lado para que te aparezca el DropDownList con los diferentes valores añadidos anteriormente, junto con una primera opción de "Seleccionar", sería de la siguiente manera.

1
2
3
4
5
6
7
<div class="form-group">
            @Html.LabelFor(model => model.IdPais, htmlAttributes: new { @class = "control-label col-md-2" })
            <div class="col-md-10">
                @Html.DropDownListFor(model => model.IdPais,ViewBag.ListadoPaises as SelectList, "Seleccionar", htmlAttributes: new { @class = "form-control" })
                @Html.ValidationMessageFor(model => model.IdPais, "", new { @class = "text-danger" })
            </div>
        </div>

Espero que te haya resultado de ayuda.

Un saludo
Jorge
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar