让我说我有这个模型:
public class PartyGorilla
{
[ScaffoldColumn(false)]
public int Id{ get; set; }
[DisplayName("Gorilla's Name")]
[Required]
public string Name{ get; set; }
}
在我的编辑/创建视图中使用EditorForModel()时,一切都按预期工作,但如果我在详细信息视图中使用DisplayForModel(),则不会显示Id属性,这不是我想要的。我的问题是:我需要广告或其他属性我需要做一个自定义属性吗?
答案 0 :(得分:4)
尝试使用[HiddenInput]属性。您可以选择显示该值但不可编辑:
[HiddenInput(DisplayValue = true)]
public int Id { get; set; }
或根本不显示该值:
[HiddenInput(DisplayValue = false)]
public int Id { get; set; }
答案 1 :(得分:1)
我只想在LabelFor
之前添加DisplayFor
id
DisplayForModel
列。我真的没有看到解决这个问题的简单方法。
你也可以创建一个单独的ViewModel,但它实际上已经实现了非干燥的足迹:
public class PartyGorillaView
{
public int Id{ get; set; }
[DisplayName("Gorilla's Name")]
[Required]
public string Name{ get; set; }
}
public class PartyGorillaEdit
{
[ScaffoldColumn(false)]
public int Id{ get; set; }
[DisplayName("Gorilla's Name")]
[Required]
public string Name{ get; set; }
}