- public class Address
- {
- [DisplayName("省")]
- public string Province { get; set; }
- [DisplayName("市")]
- public string City { get; set; }
- [DisplayName("区")]
- public string District { get; set; }
- [DisplayName("街道")]
- public string Street { get; set; }
- }
针对上面定义得这个表示地址的Address。现在我们创建一个具体的Address对象并通过如下的方式调用HtmlHelper<TModel>的DisplayForModel方法将它呈现在以此作为Model的View中。
- @model Address
- @Html.DisplayForModel()
从如下所示的HTML中我们可以看出作为Model的Address对象的所有属性都以显示模式呈现出来,而在前面还具有相应的标签。
- <div class="display-label">省</div>
- <div class="display-field">江苏省</div>
- <div class="display-label">市</div>
- <div class="display-field">苏州市</div>
- <div class="display-label">区</div>
- <div class="display-field">工业园区</div>
- <div class="display-label">街道</div>
- <div class="display-field">星湖街328号</div>
值得一提的是,Object模板在对属性进行遍历的过程中,不论是显示模式还是编辑模式,只会处理非复杂类型。也就是如果属性成员是一个复杂类型(不能支持从字符串类型的转换),它不会出现在最终生成的HTML中。
- public class Contact
- {
- [DisplayName("姓名")]
- public string Name { get; set; }
- [DisplayName("电话")]
- public string PhoneNo { get; set; }
- [DisplayName("Email地址")]
- public string EmailAddress { get; set; }
- [DisplayName("联系地址")]
- public Address Address { get; set; }
- }
通