加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – ASP.Net MVC – 处理多个复选框

发布时间:2020-12-16 00:15:03 所属栏目:asp.Net 来源:网络整理
导读:好的,我有一个基于角色的权限系统,并希望管理员能够编辑每个角色的权限.要做到这一点,我需要加载大量的复选框,但是我很难从View中获取返回数据 请注意:我环顾四周,我发现了类似的问题,但截至目前尚无法找到解决方案. % Html.BeginForm(); string lastGroup
好的,我有一个基于角色的权限系统,并希望管理员能够编辑每个角色的权限.要做到这一点,我需要加载大量的复选框,但是我很难从View中获取返回数据

请注意:我环顾四周,我发现了类似的问题,但截至目前尚无法找到解决方案.

<%
     Html.BeginForm();

    string lastGroup = "";
    foreach (var CurPermission in Model)
    {

%>
        <%=Html.CheckBox("Permissions",CurPermission.Checked,new { ID = CurPermission.PermissionId}) + " " + CurPermission.PermissionValue%> 

        <br />
<%
    } 
    %>
        <input type="submit" value="Submit" />
    <%
    Html.EndForm();
%>

和控制器,

[AcceptVerbs(HttpVerbs.Post)]
        public ActionResult EditPermissions(String[] Permissions)
        {
            foreach (var CurPermission in Permissions)
            {
                Debug.WriteLine(CurPermission);
            }

            return View();
        }

显然我需要知道哪些盒子没有被检查,以及那些盒子.但是在返回值中因为整体(“真,假”),我无法确定哪个值与哪个复选框相关.

任何关于修复或预选的替代方法的建议都会受到关注.

解决方法

以下是我们用于将成员分配给项目的一些代码片段,希望这可以帮助您解决问题!

在视图中我们有:

<p>
    <label>
       Select project members:</label>
    <ul>
        <% foreach (var user in this.Model.Users)
           { %>
        <li>
            <%= this.Html.CheckBox("Member" + user.UserId,this.Model.Project.IsUserInMembers(user.UserId)) %><label
                for="Member<%= user.UserId %>" class="inline"><%= user.Name%></label></li>
        <% } %></ul>
</p>

在控制器中我们有:

// update project members   
foreach (var key in collection.Keys)    
{   
    if (key.ToString().StartsWith("Member"))
    {
        int userId = int.Parse(key.ToString().Replace("Member",""));   
        if (collection[key.ToString()].Contains("true"))    
            this.ProjectRepository.AddMemberToProject(id,userId);
        else
                        this.ProjectRepository.DeleteMemberFromProject(id,userId);
    }
}

使用Html Checkbox Helper时要记住的主要事情是使用contains()来确定true或false.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读