我有我的观势必IEnumerable<MyViewModel>
。
MyViewModel类标注有这样的显示名称:
[DisplayName("My other Display Name")]
public class MyViewModel
{
...
}
在我的意见被直接绑定到“MyViewModel”我用Html.DisplayNameForModel()
和它的作品。
对于IEnumerable的情况下......我想Html.DisplayNameForInnerType...
可以使用,但遗憾的是我不能帮助自己找到这里需要表达。
任何人都可以如何使用Html.DisplayNameForInnerType
一个例子帮助吗?
UPDATE1:要在评论回答一个问题:这是关于ASP.Net 1.1核心
不过,我coulnd't的MS文档中找到它。
还有就是编写一个自定义的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>
比方说,你有以下型号:
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>