我们使用 DisplayForModel() 以网格格式显示模型属性。
我只想知道有什么方法可以定义元数据属性的顺序。
例如:
当前显示:Party、PartyRole、Id、Title FromDate、ThruDate
所需显示:标题、派对、派对角色、FromDate、ThruDate、Id
有没有可能???
显示模板 - 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)))
{
if (property.DisplayName != "Id")
{
<th>
@property.GetDisplayName()
</th>
}
}
TempData["header"] = "true";
}
</tr>
<tr>
@foreach (var prop in ViewData.ModelMetadata.Properties.Where(pm => ShouldShow(pm)))
{
if (prop.DisplayName == "Id")
{
<td>@Html.ActionLink("Edit", "Edit", new { id = @Html.Display(prop.PropertyName) }) </td>
}
else
{
<td>@Html.Display(prop.PropertyName)</td>
}
}
</tr>
</table>
网格.cshtml
@model IEnumerable<object>
<div class="grid">
@Html.DisplayForModel()
</div>
<div id="my-dialog"></div>
提前非常感谢..