@using Infrastructure.Domain @using System.Security.Claims @{ var entityType = ViewData["EntityTypeExt"] as Type; var isSoftDeleteEntity = typeof(ISoftDeleteEntity).IsAssignableFrom(entityType); var modelType = ViewData["ModelTypeExt"] as Type; HtmlTitle = modelType.GetDisplayName(); var entityName = entityType.Name; var hasPermissions = (User.Identity as ClaimsIdentity).Claims.Any(o => o.Value.EndsWith($"-{entityName}")); var start = (Model.PageIndex - 1) * Model.PageSize; } @Html.EditorForModel("Search")
@if (hasPermissions) {
@if (User.IsInRole($"Add-{entityName}")) { 新建 } @if (isSoftDeleteEntity && User.IsInRole($"Edit-{entityName}")) { } @if (isSoftDeleteEntity && User.IsInRole($"Edit-{entityName}")) { } @if (User.IsInRole($"Delete-{entityName}")) { }
}
@foreach (var item in modelType.GetProperties().Where(o => !typeof(BaseEntity).IsAssignableFrom(o.PropertyType) && o.Name != "Id" && !o.CustomAttributes.Any(t => t.AttributeType == typeof(ScaffoldColumnAttribute)))) { if (item.PropertyType.IsGenericType && item.PropertyType.GetInterfaces().Contains(typeof(System.Collections.IEnumerable))) { continue; } } @if (User.IsInRole($"Read-{entityType.Name}")) { } @if (User.IsInRole($"Edit-{entityType.Name}")) { } @foreach (var item in Model.List) { var id = modelType.GetProperty("Id").GetValue(item); @await Html.PartialAsync("_Index_Row", item as object) @if (User.IsInRole($"Read-{entityName}")) { } @if (User.IsInRole($"Edit-{entityName}")) { } }
行号@item.GetDisplayName()查看编辑
@(++start) 查看 编辑
@if (!HidePaged) { @(await Html.PartialAsync("_Paged")) } @section scripts{ @(await Html.PartialAsync("_Script")) }