2014-03-24 38 views
0

我正在使用ASP.NET MVC 4,並且正在爲新成員構建一個註冊表單。每個成員都有一個角色(管理員或簡單用戶)。我想填充從我的數據庫一個DropDownList,這就是我在我的控制器正在做:從數據庫中填充ViewBag返回NullReferenceException

 [HttpGet] 
     public ActionResult Test() 
     { 
      ViewBag.Roles = context.Roles.ToList(); 

      return View(); 
     } 

但是,我得到一個NullReferenceException錯誤,我不很清楚地看到這是爲什麼。我的角色表有記錄,所以我不知道爲什麼這會返回一個空的異常。

+0

什麼是上下文初始化爲? –

+0

絕對愚蠢的我,我忘了初始化上下文...謝謝!能否請您將它作爲答案發布,我會接受它! – Traffy

+1

[爲什麼不在MVC中使用'M'](http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller)? –

回答

1

如果這是所有的代碼,那很可能上下文沒有被初始化。你可能想要這樣的東西:

[HttpGet] 
public ActionResult Test() 
{ 
    using (var context = new MyDataContext()) 
    { 
     ViewBag.Roles = context.Roles.ToList(); 
     return View(); 
    } 
}