我的 ASP.net MVC 项目中有一个视图,它与控制器 (SubmissionController) 和类 (Submission) 相关联。
在视图中,我使用以下方法显示类中的一些值:
@Html.DisplayFor(Function(model) model.Created)
这完美地工作,但我现在想要实现的是能够获得嵌套在我上面引用的模型中的集合的显示名称。
使这一点更清楚;我正在视图中查看多个提交的单个提交(使用 SubmissionController 的详细信息功能)。每个提交都有许多照片,我想在提交详细信息视图中显示这些照片以及提交详细信息本身。
为了显示照片,我有以下代码创建一张照片表......
<tbody>
@For Each item In Model.Photos
Dim currentItem = item
@<tr>
<td>
@Html.DisplayFor(Function(modelItem) currentItem.Photo_ID)
</td>
<td>
@Html.DisplayFor(Function(modelItem) currentItem.Photo_Status1.Value)
</td>
<td>
@Html.DisplayFor(Function(modelItem) currentItem.Photo_Size)
</td>
<td>
@Html.DisplayFor(Function(modelItem) currentItem.Photo_Taken)
</td>
</tr>
Next
</tbody>
虽然未经测试,但我相信上面的代码应该可以正常工作。
考虑到这一点,我到底如何获得 Photo 字段/属性的 DisplayNameFor 值?
这显然是行不通的!
@Html.DisplayNameFor(Function(model) model.Photos.Photo_Size)
顺便说一句,我不想手动写入标题名称,它们必须来自模型。
回答
DigitalD的答案几乎就在那里,这是解决方案。
@Dim photoModel = New Photo()
@Html.DisplayNameFor(Function(photoModelx) photoModel.Photo_ID)