C# 带有MVC4的复选框矩阵
我需要显示一个复选框矩阵,就像这里的一样 好的,我没有子问题,而是角色和类型,所以这里是我的代码: 我的模型:C# 带有MVC4的复选框矩阵,c#,asp.net-mvc-4,checkbox,C#,Asp.net Mvc 4,Checkbox,我需要显示一个复选框矩阵,就像这里的一样 好的,我没有子问题,而是角色和类型,所以这里是我的代码: 我的模型: public class role { public role() { types = new List<role_type>(); } [Key] public int role_id { get; set; } public string role_name { get; set; } publ
public class role
{
public role()
{
types = new List<role_type>();
}
[Key]
public int role_id { get; set; }
public string role_name { get; set; }
public int role_value { get; set; }
public Boolean IsSelected { get; set; }
public IList<role_type> types { get; set; }
}
public class role_type
{
public int Id { get; set; }
public Boolean IsSelected { get; set; }
public string type { get; set; }
}
我的看法呢
@model UsersManagement.Models.roleViewModel
@{
ViewBag.Title = "Index";
}
@for (var i = 0; i < Model.Roles.Count(); i++)
{
<div id="roles">
<ul>
@for (var j = 0; j <4; j++)
{
<li>@Html.CheckBoxFor(m=>Model.Roles[i].types[j].IsSelected)</li>
}
</ul>
</div>
}
@model UsersManagement.Models.roleViewModel
@{
ViewBag.Title=“Index”;
}
@对于(var i=0;i
@对于(var j=0;j Model.Roles[i]。类型[j]。IsSelected)
}
}
这没有显示任何内容,我遗漏了什么
类型应该是(编辑、删除、读取、创建),角色应该是:管理公司、管理发票等
PS:我的最终目标是定制授权系统,但这是另一个问题。首先从GET方法中删除
roleViewModel rvm
参数,并初始化一个新实例,然后返回该实例(您的模型包含复杂的对象和集合,因此它们在绑定后都将null
或为空)非常感谢。但即使在那之后,我仍然一无所获。除了Model.Roles.Count()
为零之外,即使它确实包含项目,您唯一能呈现的只是一个复选框(没有标题或标签)因此,视图不会使mauch有意义您是否在模型中添加了一些角色
和角色类型
?我是从一个数据库绑定的,其中当然包含一些角色和角色类型。
public class roleviewmodelController : Controller
{
private Context db = new Context();
[HttpGet]
public ActionResult Index(roleViewModel rvm)
{
return View(rvm);
}
}
@model UsersManagement.Models.roleViewModel
@{
ViewBag.Title = "Index";
}
@for (var i = 0; i < Model.Roles.Count(); i++)
{
<div id="roles">
<ul>
@for (var j = 0; j <4; j++)
{
<li>@Html.CheckBoxFor(m=>Model.Roles[i].types[j].IsSelected)</li>
}
</ul>
</div>
}