假设我的模型中有以下类:
public class Person
{
public long ID { get; set; }
[Display(Name = "First Name")]
public string FirstName { get; set; }
[Display(Name = "Surname")]
public string Surname{ get; set; }
}
我想在我的View中创建一个表,其中标题'First Name'和'Surname'是使用以下内容自动创建的:
<table>
<thead>
<tr>
<!-- 1a (fake code) -->
<th>@Html.DisplayNameFor(n => n.getProperty(1))</th>
<!-- 1b (fake code) -->
<th>@Html.DisplayNameFor(n => n.getProperty(2))</th>
<!-- 2a -->
<th>@Html.DisplayNameFor(n => n.FirstName)</th>
<!-- 2b -->
<th>@Html.DisplayNameFor(n => n.Surname)</th>
</tr>
</thead>
</table>
其中1a和2a应该在功能上相同。与2a和2b相同。
有没有办法完成这项工作?
答案 0 :(得分:0)
您可以创建自定义属性(例如IndexAttribute),然后用它来装饰Person属性:
public class Person
{
[Index (Value = 0)]
public long ID {get; set; }
[Index (Value = 1)]
[Display (Name = "First Name")]
public string FirstName {get; set; }
[Index (Value = 2)]
[Display (Name = "Surname")]
public string Surname {get; set; }
}
然后创建一个HtmlHelper,通过反射做n.GetProperty(n);