2

我正在发送一个 DTO over wire (WCF),它在一个属性上具有来自 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; }
}

这甚至可能吗?

编辑

我发现了问题。它现在可以工作了。但无论如何,这是可以的还是我应该避免这样做?

4

1 回答 1

0

就个人而言,我会避免这条路线。DAL 应尽可能保持基本以定义该模型。数据注释通常定义 UI 应该如何显示(在 MVC 中更是如此),因此应该保留在表示/UI 层(例如客户端)。如果您想在另一个项目中重用该模型但不想要数据注释怎么办?

于 2011-09-19T14:07:00.463 回答