“ mes”:“价值不能为null。 (参数')"当想要显示值时的值时,请使用复选框
嗨,我有3张桌子:角色,允许,哥伦比亚 在我的Razor Page视图中,我想显示每次标记复选框的特殊角色的权限。在每个角色中,我在树模型中显示所有权限(我的权限是父母表) 因此,出于这个原因,我做了一个模型
[Table("tblPermission", Schema = "cmn")]
public class Permission
{
[Key]
public int PermissionId { get; set; }
public string PermissionTitle { get; set; }
public int? ParentId { get; set; }
[ForeignKey("ParentId")]
public List<Permission> Permissions { get; set; }
public List<RolePermission> RolePermissions { get; set; }
}
和两个动作
[BindProperty]
public Role Role { get; set; }
public void OnGet(int id)
{
Role = _permissionService.GetRoleById(id);
var b= _permissionService.GetAllPermission();
ViewData["Permissions"] = b;
var a= _permissionService.permissionsRole(id);
ViewData["SelectedPermission"] = a;
}
public IActionResult OnPost()
{
if (!ModelState.IsValid)
{
return Page();
}
_permissionService.UpdateRole(Role);
return RedirectToPage("Index");
}
,我的观点就像Bellow:
@page "{id}"
@using Entities.Permission
@model Pages.Admin.Roles.EditRoleModel
@{
ViewData["Title"] = "Edit role";
List<Permission> permissions = ViewData["Permissions"] as List<Permission>;
List<int> SelectedPermissions = ViewData["SelectedPermissions"] as List<int>;
}
<div class="panel-body">
<ul>
@foreach (var permission in permissions.Where(p => p.ParentId == null))
{
<li>
<input type="checkbox" name="SelectedPermission"
@((SelectedPermissions.Any(p=>p==permission.PermissionId)?"checked":""))
value="@permission.PermissionId" /> @permission.PermissionTitle
@if (permissions.Any(p => p.ParentId == permission.ParentId))
{
<ul>
@foreach (var sub in permissions.Where(p => p.ParentId == permission.PermissionId))
{
<li>
<input type="checkbox" name="SelectedPermission"
@((SelectedPermissions.Any(p=>p==sub.PermissionId)?"checked":"")) value="@sub.PermissionId"
/> @sub.PermissionTitle
</li>
}
</ul>
}
</li>
}
</ul>
</div>
在此行中:((selectpermissions.any(p =&gt; p == sub.permissionId)?“ checked”:“:”))我得到错误: “ mes”:“值不能为null。(参数'source')。当我查看时,我发现我的ViewData都不是null。
Hi I have 3 tables: Role , Permission , RolePermission
In my Razor page view I want to show each permission that is true for a special role with marking the check box . In every role I show all permission in a tree model (my permission is a parent child table)
So for this reason I make a model
[Table("tblPermission", Schema = "cmn")]
public class Permission
{
[Key]
public int PermissionId { get; set; }
public string PermissionTitle { get; set; }
public int? ParentId { get; set; }
[ForeignKey("ParentId")]
public List<Permission> Permissions { get; set; }
public List<RolePermission> RolePermissions { get; set; }
}
And two action
[BindProperty]
public Role Role { get; set; }
public void OnGet(int id)
{
Role = _permissionService.GetRoleById(id);
var b= _permissionService.GetAllPermission();
ViewData["Permissions"] = b;
var a= _permissionService.permissionsRole(id);
ViewData["SelectedPermission"] = a;
}
public IActionResult OnPost()
{
if (!ModelState.IsValid)
{
return Page();
}
_permissionService.UpdateRole(Role);
return RedirectToPage("Index");
}
And my view is like bellow :
@page "{id}"
@using Entities.Permission
@model Pages.Admin.Roles.EditRoleModel
@{
ViewData["Title"] = "Edit role";
List<Permission> permissions = ViewData["Permissions"] as List<Permission>;
List<int> SelectedPermissions = ViewData["SelectedPermissions"] as List<int>;
}
<div class="panel-body">
<ul>
@foreach (var permission in permissions.Where(p => p.ParentId == null))
{
<li>
<input type="checkbox" name="SelectedPermission"
@((SelectedPermissions.Any(p=>p==permission.PermissionId)?"checked":""))
value="@permission.PermissionId" /> @permission.PermissionTitle
@if (permissions.Any(p => p.ParentId == permission.ParentId))
{
<ul>
@foreach (var sub in permissions.Where(p => p.ParentId == permission.PermissionId))
{
<li>
<input type="checkbox" name="SelectedPermission"
@((SelectedPermissions.Any(p=>p==sub.PermissionId)?"checked":"")) value="@sub.PermissionId"
/> @sub.PermissionTitle
</li>
}
</ul>
}
</li>
}
</ul>
</div>
At this line “@((SelectedPermissions.Any(p=>p==sub.PermissionId)?"checked":""))” I get the error :
"mes":"Value cannot be null. (Parameter 'source')" .And when I Check out I found that none of my viewData is not null.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论