我正在尝试在MVC5中创建用户角色.我的上下文属性显示为null,我不知道为什么
本文关键字:显示 属性 上下文 为什么 我不知道 我的 null 角色 MVC5 用户 创建 | 更新日期: 2023-09-27 18:04:11
https://gyazo.com/0e64a4a003c33f117f114b914ccde492
正如你在上面的图片中看到的,当我调用RegisterRole操作时,我得到了一个Nullreference错误。这是我第一次使用ApplicationDbContext类。
控制器类别:
private ApplicationDbContext context;
行动方法:
[HttpGet]
public ActionResult RegisterRole()
{
ViewBag.Name = new SelectList(context.Roles.ToList(), "Name", "Name");
ViewBag.UserName = new SelectList(context.Users.ToList(), "UserName", "UserName");
return View();
}
[ValidateAntiForgeryToken]
[HttpPost]
public async Task<ActionResult> RegisterRole(RegisterViewModel model, ApplicationUser user)
{
var userId = context.Users.Where(i => i.UserName == user.UserName).Select(s => s.Id);
string updatedId = "";
foreach (var i in userId)
{
updatedId = i.ToString();
}
await this.UserManager.AddToRoleAsync(updatedId, model.Name);
return RedirectToAction("Index", "Home");
}
如果上下文没有初始化,那么它应该为null。
您可以用控制器构造方法注入它,也可以简单地用context = new ApplicationDbContext(connectionString);
初始化它
connectionString可以是配置文件中的设置。