我有一个MVC ViewModel类(此处是高度简化的示例),在这里我希望LabelFor和ValidationFor选择自定义显示名称。这是一个用户定义的名称,所以我不想使用硬编码名称,也不能使用本地化,因为显示名称是从要反序列化视图模型的JSON中返回给我的。
我想按照以下方式做些事情:
public class MyViewModel
{
[DisplayName("UserField1Name")]
public string UserField1 { get; set; }
public string UserField1Name { get; set; }
[DisplayName("UserField2Name")]
public string UserField2 { get; set; }
public string UserField2Name { get; set; }
}
但是,当前示例仅将该字段标记为UserField1Name,而没有使用相同的名称选择该属性的值。
有什么办法可以通过视图模型做到这一点?
答案 0 :(得分:0)
您可以使用LabelFor
的重载代替DisplayName
属性:
@Html.LabelFor(model => model.UserField2, Model.UserField2Name)