亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

ASP.Net MVC C# 分配角色關閉復選框和用戶列表

ASP.Net MVC C# 分配角色關閉復選框和用戶列表

C#
莫回無 2022-11-22 15:21:38
我在保管箱中有我的管理員列表,在面板中有我的用戶列表,其中包含他們的姓名和他們姓名的復選框。我的面板中有一個按鈕,因此我可以將用戶分配給管理員。我想知道如何在我的控制器中設置它,為用戶分配一個角色并不難,但我不能 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 獲取我擁有的用戶列表,但我需要選中用戶復選框并將其分配給管理員
查看完整描述

1 回答

?
交互式愛情

TA貢獻1712條經驗 獲得超3個贊

這就是我目前想出的。它尚未 100% 完成,但我可以獲得一個用戶并將該用戶分配給管理員,它肯定可以與 1 個用戶一起使用,我必須測試多個用戶。我會對我正在做的事情的任何輸入或評論感興趣。謝謝


    [HttpPost]

    [ValidateAntiForgeryToken]

    public ActionResult AssignAdmin(AssignRolesModel model)

    {

        try

        {

            if(model.lstUsers == null)

            {

                TempData["Error"] = "There are no Users to Assign Roles";

                model.lstUsers = UserList();

                model.lstAdmins = AdminList();

                return View(model);

            }


            var selectedUsersCount = (from user in model.lstUsers

                                      where user.SelectedUsers == true

                                      select user).Count();

            if(selectedUsersCount == 0)

            {

                TempData["Error"] = "You have not Selected any User to Assign Roles";

                model.lstAdmins = AdminList();

                model.lstUsers = UserList();

                return View(model);

            }


            if (ModelState.IsValid)

            {

                List<UserModel> users = new List<UserModel>();

                ApplicationUser au;

                var store = new UserStore<ApplicationUser>(context);

                var manager = new UserManager<ApplicationUser>(store);


                model.CreatedBy = 1;


                foreach(var u in model.lstUsers)

                {

                    if(u.SelectedUsers == true)

                    {

                        users.Add(u);

                    }

                }


                foreach(var u in users)

                {

                    au = context.Users.Where(x => x.Id.Equals(u.UserId,

                        StringComparison.CurrentCultureIgnoreCase)).FirstOrDefault();

                    manager.AddToRole(au.Id, "Admin");

                }


                TempData["Success"] = "Roles Assigned Successfully";

                return RedirectToAction("AssignAdmin");

            }

        }

        catch (Exception)

        {

            throw;

        }           


        return View();

    }


查看完整回答
反對 回復 2022-11-22
  • 1 回答
  • 0 關注
  • 130 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號