我正在尝试在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");
    }

我正在尝试在MVC5中创建用户角色.我的上下文属性显示为null,我不知道为什么

如果上下文没有初始化,那么它应该为null。

您可以用控制器构造方法注入它,也可以简单地用context = new ApplicationDbContext(connectionString); 初始化它

connectionString可以是配置文件中的设置。