我试图在asp.net的“视图”部分中显示从控制器传递的项目列表,如下所示:
public actionResult Register()
{
ViewBag.Roles = new SelectList(db.Roles.ToList(),"Name","Name");
return View();
}
<div class="form-group">
@Html.LabelFor(m => m.Roles,new { @class = "col-md-2 control-label" })
<div class="col-md-10">
@Html.DropDownList("Roles",null,new { @class = "form-control" })
</div>
</div>
[Required]
[Display(Name = "Group")]
public string Roles { get; set; }
但是我遇到以下错误:
对象引用未设置为对象的实例。
描述:在执行当前Web请求期间发生未处理的异常。请查看堆栈跟踪,以获取有关错误及其在代码中起源的更多信息。
异常详细信息:System.NullReferenceException:对象引用未设置为对象的实例。
显示以下代码行时出错:
Line 143: ViewBag.Roles = new SelectList(db.Roles.ToList(),"Name");
public void CreateRoles()
{
var roleManager = new RoleManager<IdentityRole>(new RoleStore<IdentityRole>(db));
IdentityRole role;
if(!roleManager.RoleExists("Admins"))
{
role = new IdentityRole();
role.Name = "Admins";
roleManager.Create(role);
}
}
有关该错误的其他详细信息:
ASP.Identity.dll中发生了'System.NullReferenceException'类型的异常,但未在用户代码中处理