获取ASP.NET MVC中的角色列表

我有以下方法来获取存储在其中的角色列表 AspNetRoles

    [AllowAnonymous]
    public async Task<ActionResult> Register()
    {
        //Get the list of Roles
        ViewBag.RoleId = new SelectList(await RoleManager.Roles.ToListAsync(), "Name", "Name");

        return View();
    }

然后我认为它如下

    <div class="form-group">
        <label class="col-md-2 control-label">
            Select User Role
        </label>
        <div class="col-md-10">
            @foreach (var item in (SelectList)ViewBag.RoleId)
            {
                <input type="checkbox" name="SelectedRoles" value="@item.Value" class="checkbox-inline" />
                @Html.Label(item.Value, new { @class = "control-label" })
            }
        </div>
    </div>

但是一旦我加载页面,我就会Object reference not set to an instance of an object.出错

175行:ViewBag.RoleId = new SelectList(等待RoleManager.Roles.ToListAsync(),“名称”,“名称”);

这是RoleManager定义

    public ApplicationRoleManager RoleManager
    {
        get
        {
            return _roleManager ?? HttpContext.GetOwinContext().Get<ApplicationRoleManager>();
        }
        private set
        {
            _roleManager = value;
        }
    }

这是ApplicationRoleManager模特

// Configure the RoleManager used in the application. RoleManager is defined in the ASP.NET Identity core assembly
public class ApplicationRoleManager : RoleManager<ApplicationRole>
{
    public ApplicationRoleManager(IRoleStore<ApplicationRole, string> roleStore)
        : base(roleStore)
    {
    }

    public static ApplicationRoleManager Create(IdentityFactoryOptions<ApplicationRoleManager> options, IOwinContext context)
    {
        return new ApplicationRoleManager(new ApplicationRoleStore(context.Get<ApplicationDbContext>()));
    }
}
里克

在Startup.Auth中,像这样引用RoleManager:

    public void ConfigureAuth(IAppBuilder app)
    {
        // Add this reference
        app.CreatePerOwinContext<ApplicationRoleManager>(ApplicationRoleManager.Create);
    }

确保您的Controller包含以下构造函数:

        // Include this
        private ApplicationRoleManager _roleManager;
        // You already have this
        public ApplicationRoleManager RoleManager { get { return _roleManager ?? HttpContext.GetOwinContext().Get<ApplicationRoleManager>(); } private set { _roleManager = value; } }

重建,再试一次,希望可以解决这个问题。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在ASP .NET MVC中更改角色权限

来自分类Dev

ASP.NET(MVC)用户,角色和角色中的用户

来自分类Dev

ASP.NET(MVC)用户,角色和角色中的用户

来自分类Dev

具有MVC Asp.net身份角色的用户列表

来自分类Dev

获取ASP.NET MVC5 Identity系统中的所有角色名称

来自分类Dev

获取ASP.NET Core MVC中当前登录用户的角色

来自分类Dev

获取在asp.net Identity 2.0中分配了角色的用户列表

来自分类Dev

在ASP.NET中的IdentityUserRole 2.0中获取角色名称

来自分类Dev

ASP.NET MVC中的观察者模式角色

来自分类Dev

删除ASP.NET MVC 5中的角色

来自分类Dev

无法在ASP.NET MVC- C#的级联下拉列表中获取Chil表列表

来自分类Dev

Asp.net MVC Razor @foreach + onclick数据获取列表

来自分类Dev

如何从ASP Net中的用户角色表中获取角色ID

来自分类Dev

在 ASP.NET MVC 中从 jQuery 获取选定的下拉列表 ID

来自分类Dev

.NET MVC 获取具有任何角色列表的所有用户

来自分类Dev

Asp.Net MVC获取显示名称

来自分类Dev

ASP.NET MVC 5 获取声明

来自分类Dev

在asp.net MVC中从url中获取参数

来自分类Dev

ASP.net MVC获取用户从URL检索的特定ID的角色

来自分类Dev

获取登录用户角色:Asp.net MVC5

来自分类Dev

无法从ASP.NET MVC中的IEnumerable获取JSON

来自分类Dev

在ASP.NET MVC4中获取模型的QueryString

来自分类Dev

如何在ASP.NET MVC中获取视图路径

来自分类Dev

在DropDownList ASP.NET MVC中获取选定的项目

来自分类Dev

在ASP.NET MVC中获取控制器名称

来自分类Dev

ASP.NET MVC在View中获取继承的类数据

来自分类Dev

从定义的 <td> (ASP.NET MVC) 中获取值

来自分类Dev

如何在ASP.NET中获取Facebook朋友列表?

来自分类Dev

下拉列表没有在asp.net中获取CSS

Related 相关文章

热门标签

归档