- @model Contact
- @Html.DisplayForModel()
从如下所示的HTML可以看出,Contact的数据成员Address由于是复杂类型,其内容并不会呈现出来。
- <div class="display-label">姓名</div>
- <div class="display-field">张三</div>
- <div class="display-label">电话</div>
- <div class="display-field">1234567890</div>
- <div class="display-label">Email地址</div>
- <div class="display-field">zhangsan@gmail.com</div>
我们可以有两种方式解决这个问题,其实就是通过为Address类型定义各类专门的模板用于地址信息的显示和编辑,通过UIHintAttribute特性将此模板名称应用到Contact的Address属性上,然后调用DisplayFor/EditorFor将该属性呈现出来。另一种就是按照类似如如下的方式手工将负责类型属性成员呈现出来。
- @model Contact
- @Html.DisplayForModel()
- <div class="display-label">@Html.DisplayName("Address")</div>
- <div class="display-field">@(Model.Address.Province + Model.Address.City + Model.Address.District+ Model.Address.Street)</div>
原文链接:http://www.cnblogs.com/artech/archive/2012/05/02/model-metadata-and-template-01.html