我的视图绑定到IEnumerable<MyViewModel>
。
MyViewModel类使用如下的DisplayName进行注释:
[DisplayName("My other Display Name")]
public class MyViewModel
{
...
}
在我直接绑定到“MyViewModel”的视图中,我使用Html.DisplayNameForModel()
并且它可以正常工作。
对于IEnumerable的情况......我认为可以使用Html.DisplayNameForInnerType...
但不幸的是我无法帮助自己找到这里所需的表达式。
任何人都可以提供有关如何使用Html.DisplayNameForInnerType
的示例吗?
UPDATE1: 回答评论中的问题:它是关于ASP.Net Core 1.1
但是,我无法在MS文档中找到它。
答案 0 :(得分:0)
有一种方法可以编写自定义的Html帮助程序,但最简单的方法是使用模型中的临时参数:
[DisplayName("My other Display Name")]
public class MyViewModel
{
[DisplayName("My other Display Name")]
public string DisplayNameProp { get; set; }
public string Name { get; set; }
}
观看:
@model IEnumerable<MyViewModel>
<table>
@foreach (var item in Model)
{
<tr>
<td>@Html.DisplayNameFor(x => x.DisplayNameProp)</td>
<td>@item.Name</td>
</tr>
}
</table>
答案 1 :(得分:0)
假设您具有以下模型:
public class MyViewModel
{
[Display(Name = "My Id")]
public int Id { get; set; }
[Display(Name = "My name")]
public string Name { get; set; }
}
在您看来,您可以像这样使用Html.DisplayNameForInnerType:
@model IEnumerable<MyViewModel>
<table>
<thead>
<tr>
<th>@Html.DisplayNameForInnerType((MyViewModel item) => item.Id)</th>
<th>@Html.DisplayNameForInnerType((MyViewModel item) => item.Name)</th>
</tr>
</thead>
<tbody>
@foreach (var item in Model)
{
<tr>
<td>@item.Id</td>
<td>@item.Name</td>
</tr>
}
</tbody>
</table>
答案 2 :(得分:0)
尝试此操作以获取类DisplayName
void draw(){
displayPuzzle();
}