Joh*_*n S 8 razor asp.net-mvc-4
我有一个复杂类型的模型,即用户/地址/地址列表
public class User{
public List<Address> Addresses{get;set;}
}
Run Code Online (Sandbox Code Playgroud)
在我的视图中我正在显示这个
<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>
Run Code Online (Sandbox Code Playgroud)
DisplayNameFor Street/City/State不起作用.
在子对象上获取DisplayNameFor的正确方法是什么?
TIA J
Joh*_*n S 10
我变了
@Html.DisplayNameFor(m => Model.Addresses.Street)
Run Code Online (Sandbox Code Playgroud)
至
@Html.DisplayNameFor(m => Model.Addresses.FirstOrDefault().Street)
Run Code Online (Sandbox Code Playgroud)
不要使用,@Html.DisplayNameFor(m => Model.Addresses[0].Street)
因为如果你需要编辑第一行,你将无法这样做.
现在一切都按预期工作了.
归档时间: |
|
查看次数: |
9653 次 |
最近记录: |