我正在通过网络(WCF)发送一个DTO,它在一个属性上具有来自System.ComponentModel的DisplayName属性,另一个属性具有ScaffoldColumn属性。在客户端我有一个ASP.NET MVC 2应用程序,我使用Html.EditorFor(x => x.DTO)扩展方法。当页面呈现时,它看起来像属性不存在。
DTO
[Serializable]
public class ProjektDTO : IDTO
{
public decimal Id { get; private set; }
public string Poznamka { get; set; }
[DisplayName("Tralal")]
public string Oz { get; set; }
[ScaffoldColumn(false)]
public string Name { get; set; }
}
这甚至可能吗?
修改
我发现了问题。现在有效。但无论如何,这是好的还是我应该避免这样做?
答案 0 :(得分:0)
就个人而言,我会避开这条路线。 DAL应尽可能保持基本以定义该模型。数据注释通常定义UI应该如何显示(在MVC中更多),因此应该保存在表示/ UI层(例如客户端)中。如果您想在另一个项目中重用该模型但又不想要数据注释,该怎么办?