【发布时间】:2012-08-28 22:15:27
【问题描述】:
我有一个复杂类型的模型,即用户/地址/地址列表
public class User{
public List<Address> Addresses{get;set;}
}
在我的视图中我正在显示这个
<fieldset><legend>@Html.DisplayNameFor(model=>model.Addresses)</legend>
<table>
<tr>
<th>
@Html.DisplayNameFor(m => Model.Addresses.Street)
</th>
<th>
@Html.DisplayNameFor(model => model.Addresses.City)
</th>
<th>
@Html.DisplayNameFor(model => model.Addresses.State)
</th>
</tr>
@foreach (var item in Model.Addresses) {
<tr>
<td>
@Html.DisplayFor(m => item.Street)
</td>
<td>
@Html.DisplayFor(m => item.City)
</td>
<td>
@Html.DisplayFor(m => item.State)
</td>
</tr>
}
</table></fieldset>
DisplayNameFor Street/City/State 不起作用。
在子对象上获取 DisplayNameFor 的正确方法是什么?
TIA J
【问题讨论】:
-
尝试使用简单的
for循环,而不是foreach。 -
你在做什么
@Html.DisplayNameFor(m => Model.Addresses.Street.First())?我通常只是手动输入标签。 -
我想对名称使用数据注释。尝试始终将这样的字符串保留在代码之外。
标签: asp.net-mvc-4 razor