我有一个非常简单的要求。在 MVC4 项目中,我必须显示一个带有 @HTML.labelFor 字段的表单,该字段从 viewmodel 类的属性的属性字段中派生值。它适用于简单的属性,例如员工代码,但它不适用于人员类的自定义数据类型。
namespace MvcApplication1.Models
{
public class EmployeeViewModel
{
[Display(Name = "Employee Code:")]
public string EmpCode { get; set; }
public person PersonInfo { get; set; }
[Display(Name = "Department Name:")]
public string Department { get; set; }
}
}
namespace MvcApplication1.Models
{
public class Person
{
[Display(Name = "First Name:")]
public string FName { get; set; }
[Display(Name = "Last Name:")]
public string LName { get; set; }
}
}
@Html.LabelFor(m => Model.EmpCode)
将标签正确显示为员工代码:
@Html.LabelFor(m => Model.PersonInfo.FName)
将标签错误地显示为 FName:
@Html.LabelFor(m => Model.PersonInfo.LName)
将标签错误地显示为 LName:
@Html.LabelFor(m => Model.PersonInfo.Department)
将标签正确显示为部门名称:
我试图弄清楚如何显示对象类型属性的属性信息。我有使用扩展方法吗?