我有一个复杂类型的模型,即用户/地址/地址列表
- 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
Ĵ
解决方法
我变了
- @Html.DisplayNameFor(m => Model.Addresses.Street)
至
- @Html.DisplayNameFor(m => Model.Addresses.FirstOrDefault().Street)
不要使用@ Html.DisplayNameFor(m => Model.Addresses [0] .Street)因为如果你需要编辑第一行,你将无法这样做.
现在一切都按预期工作了.