2011-06-13 15 views
7

Estoy intentando rellenar una @ Html.DropDownList con una lista usando MVC y Razor. Bellow es mi código para el controlador. Así que tengo que elegir la lista de mi ViewBag y completar la lista desplegable.Rellene @ Html.DropDownList con una lista <string> usando MVC

public ActionResult Register() 
    { 
     sparklingEntities context = new sparklingEntities(); 
     var query = (from discs in context.Disciplines 
        select discs).ToList(); 
     List<string> listOfDiscs = new List<string>(); 
     foreach (var item in query) 
     { 
      listOfDiscs.Add(item.Discipline); 
     } 
     ViewBag.ListOfDisciplines = listOfDiscs; 
     return View(); 
    } 

Gracias por la ayuda.

Respuesta

11

Si esto es en un editor para su propiedad de modelo:

@Html.DropDownList("", new SelectList(ViewBag.ListOfDisciplines, Model)) 
+0

Funciona perfectamente. ¡Gracias! – wardh

+0

faltante a) al final – stuartdotnet

+0

me salvó el día) gracias! – makambi

1
//Increase performance by Eliminating foreach loop! 
public ActionResult Register() 
{ 
    sparklingEntities context = new sparklingEntities(); 
    var query = (from discs in context.Disciplines 
       select discs.Discipline); // change this line as discs.Discipline 
    ViewBag.ListOfDisciplines = listOfDiscs; 
    return View(); 
} 
0

valor no está recibiendo rescates en el database..please ver donde estoy consiguiendo error ...

public ActionResult Role(Role_Master_Table t) 
    { 
     FTSdatabaseEntities dc = new FTSdatabaseEntities(); 
     { 

      //ViewBag.Status_Description = new SelectList(dc.Status_Master_Table, "StatusId", "Status_Description", "Remarks"); 
      var query = (from Status_Description in dc.Status_Master_Table 
         select Status_Description).ToList(); 
      List<string> listOfDiscs = new List<string>(); 
      foreach (var item in query) 
      { 
       listOfDiscs.Add(t.Status); 
       dc.Role_Master_Table.Add(t); 
       dc.SaveChanges(); 

      } 
      ViewBag.Status_Description = listOfDiscs; 


      return View(); 
     } 
Cuestiones relacionadas