我正在使用DisplayForModel()以网格格式显示我的模型数据。
但是我无法在object.cshtml中获取主键属性。
有人可以建议plss吗?
下面是我的object.cshtml代码:
@functions
{
bool ShouldShow(ModelMetadata metadata)
{
return metadata.ShowForDisplay
&& metadata.ModelType != typeof(System.Data.EntityState)
&& !metadata.IsComplexType
&& !ViewData.TemplateInfo.Visited(metadata);
}
}
<table>
<tr>
@if (TempData["header"] == null)
{
foreach (var property in ViewData.ModelMetadata.Properties.Where(pm => ShouldShow(pm)))
{
<th>
@property.GetDisplayName()
</th>
}
TempData["header"] = "true";
}
</tr>
<tr>
@foreach (var prop in ViewData.ModelMetadata.Properties.Where(pm => ShouldShow(pm)))
{
<td>@Html.Display(prop.PropertyName)</td>
}
</tr>
</table>
控制器索引操作:
public ViewResult Index()
{
IEnumerable<PartyRole> partyroles = PartyRoleRepo.All(m => m.PartyRoleType, m => m.Party.Organization).ToList();
return View("grid", partyroles);
}
grid.cshtml
@model IEnumerable<object>
<div class="grid">
@Html.DisplayForModel()
</div>
<div id="my-dialog"></div>