@using Infrastructure.Domain @{ var entityType = ViewData["EntityTypeExt"] as Type; var modelType = ViewData["ModelTypeExt"] as Type; HtmlTitle = modelType.GetDisplayName(); var start = (Model.PageIndex - 1) * Model.PageSize; var create = User.IsInRole($"Add{entityType.Name}"); var remove = User.IsInRole($"Edit{entityType.Name}") && !typeof(IDisableUpdate).IsAssignableFrom(entityType) && !typeof(IDisableRemove).IsAssignableFrom(entityType); var restore = User.IsInRole($"Edit{entityType.Name}") && !typeof(IDisableUpdate).IsAssignableFrom(entityType) && !typeof(IDisableRemove).IsAssignableFrom(entityType); var delete = User.IsInRole($"Delete{entityType.Name}") && !typeof(IDisableDelete).IsAssignableFrom(entityType); } @Html.EditorForModel("Search")
@if (create || remove || restore || delete) {
@if (create) { 新建 } @if (remove) { } @if (restore) { } @if (delete) { }
}
@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{entityType.Name}")) { } @if (User.IsInRole($"Edit{entityType.Name}")) { } }
行号@item.GetDisplayName()查看编辑
@(++start) 查看 编辑
@if (!HidePaged) { @(await Html.PartialAsync("_Paged")) } @section scripts{ @(await Html.PartialAsync("_Script")) }