WCF 上的数据注释
我正在通过线路 (WCF) 发送一个 DTO,该 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; }
}
这可能吗?
编辑
我发现了问题。现在可以了。但无论如何,这是可以的还是我应该避免这样做?
I'm sending a DTO over wire (WCF) which has on one property the DisplayName atribute from System.ComponentModel and on a other one the ScaffoldColumn attribute. On the client I have a ASP.NET MVC 2 app and I use the Html.EditorFor(x=>x.DTO) extension method.When the page is rendered it looks like the attributes wasn't there.
The 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; }
}
Is this even possible ?
EDIT
I found the problem.It works now. But anyway,is this a ok or should I avoid doing this ??
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
就我个人而言,我会避免这条路线。 DAL 应尽可能保持基本状态来定义该模型。数据注释通常定义 UI 应如何显示(在 MVC 中更是如此),因此应保留在表示/UI 层(例如客户端)中。如果您想在另一个项目中重用该模型但不需要数据注释怎么办?
Personally, I would avoid this route. The DAL should stay as basic as possible to define that model. Data annotations usually define how the UI should be displayed (more so in MVC) and as such should be kept in the presentation/UI layer (e.g. client side). What if you want to reuse that model in another project but don't want the data annotations?