2011-06-13 59 views
7

我試圖用列表使用MVC和Razor填充@ Html.DropDownList。 波紋管是我的控制器代碼。所以我需要從我的ViewBag中選擇列表並填寫下拉列表。使用MVC填充@ Html.DropDownList <string>使用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(); 
    } 

感謝您的幫助。

回答

11

如果這是你的模型屬性的編輯:

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

它完美的作品。謝謝! – wardh 2011-06-13 16:38:40

+0

失蹤a)在末日 – stuartdotnet 2012-10-30 04:14:54

+0

救了我的一天)謝謝! – makambi 2013-02-22 13:44:11

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

價值沒有得到保存在database..please看到我得到錯誤...

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(); 
     }