猿问

ASP.Net MVC C# 分配角色关闭复选框和用户列表

我在保管箱中有我的管理员列表,在面板中有我的用户列表,其中包含他们的姓名和他们姓名的复选框。我的面板中有一个按钮,因此我可以将用户分配给管理员。我想知道如何在我的控制器中设置它,为用户分配一个角色并不难,但我不能 100% 确定这样做。这是我所拥有的。


//我的观点


        <div class="row">

            @for(var i = 0; i < Model.lstUsers.Count(); i++)

            {

                <div class="col-md-4">

                    <div>

                        @Html.CheckBoxFor(u => Model.lstUsers[i].SelectedUsers)

                        <label>

                            @Html.DisplayFor(u => Model.lstUsers[i].Name)

                            @Html.HiddenFor(u => Model.lstUsers[i].UserId)

                            @Html.HiddenFor(u => Model.lstUsers[i].Name)

                        </label>

                    </div>

                </div>

            }

        </div>

        <br />

        <div class="row">

            <div class="form-group">

                <div class="col-md-offset-0 col-md-12">

                    <input type="submit" value="Assign Role" class="btn btn-success" />

                    @Html.ActionLink("Cancel", "Dashboard", "SuperAdmin",

                     null, new { @class = "btn btn-danger" })

                </div>

            </div>

        </div>

    </div>      //Model                                                     public class AdminModel

{

    public string UserId { get; set; }

    public string Name { get; set; }

}

public class UserModel

{

    public string UserId { get; set; }

    public string Name { get; set; }

    public bool SelectedUsers { get; set; }

    public string AssignToAdmin { get; set; }

}

public class AssignRolesModel

{

    public List<AdminModel> lstAdmins { get; set; }

    [Required(ErrorMessage = "Choose Admin")]

    public string UserId { get; set; }

    public List<UserModel> lstUsers { get; set; }

    public int? AssignToAdmin { get; set; }

    public int? CreatedBy { get; set; }

}   // Controller   have a [httppost] and bring my assignrolesmodel object into the controller 

获取我拥有的用户列表,但我需要选中用户复选框并将其分配给管理员


莫回无
浏览 111回答 1
1回答

交互式爱情

这就是我目前想出的。它尚未 100% 完成,但我可以获得一个用户并将该用户分配给管理员,它肯定可以与 1 个用户一起使用,我必须测试多个用户。我会对我正在做的事情的任何输入或评论感兴趣。谢谢&nbsp; &nbsp; [HttpPost]&nbsp; &nbsp; [ValidateAntiForgeryToken]&nbsp; &nbsp; public ActionResult AssignAdmin(AssignRolesModel model)&nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; try&nbsp; &nbsp; &nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if(model.lstUsers == null)&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TempData["Error"] = "There are no Users to Assign Roles";&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; model.lstUsers = UserList();&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; model.lstAdmins = AdminList();&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; return View(model);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; var selectedUsersCount = (from user in model.lstUsers&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; where user.SelectedUsers == true&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; select user).Count();&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if(selectedUsersCount == 0)&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TempData["Error"] = "You have not Selected any User to Assign Roles";&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; model.lstAdmins = AdminList();&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; model.lstUsers = UserList();&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; return View(model);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (ModelState.IsValid)&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; List<UserModel> users = new List<UserModel>();&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ApplicationUser au;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; var store = new UserStore<ApplicationUser>(context);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; var manager = new UserManager<ApplicationUser>(store);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; model.CreatedBy = 1;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; foreach(var u in model.lstUsers)&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if(u.SelectedUsers == true)&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; users.Add(u);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; foreach(var u in users)&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; au = context.Users.Where(x => x.Id.Equals(u.UserId,&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; StringComparison.CurrentCultureIgnoreCase)).FirstOrDefault();&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; manager.AddToRole(au.Id, "Admin");&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TempData["Success"] = "Roles Assigned Successfully";&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; return RedirectToAction("AssignAdmin");&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; catch (Exception)&nbsp; &nbsp; &nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; throw;&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp; &nbsp; &nbsp; return View();&nbsp; &nbsp; }
随时随地看视频慕课网APP
我要回答