【发布时间】:2009-08-07 15:47:04
【问题描述】:
有没有人有 ASP.NET MVC 2 Preview 1 中的伙伴类的例子?我似乎在 MSDN 上找不到任何关于它的信息,但根据 ScottGu 他们在最新版本中为它添加了功能。
【问题讨论】:
标签: asp.net-mvc preview
有没有人有 ASP.NET MVC 2 Preview 1 中的伙伴类的例子?我似乎在 MSDN 上找不到任何关于它的信息,但根据 ScottGu 他们在最新版本中为它添加了功能。
【问题讨论】:
标签: asp.net-mvc preview
我相信您正在寻找的是 MetadataTypeAttribute。这不是 MVC 特有的,而是 3.5 中引入的 DataAnnotations 命名空间的一部分。它允许您装饰类本身外部的部分类的成员。
例如,如果您有一个名为 Customer 的已生成分部类类型并希望向其添加属性,您可以在同一命名空间中创建一个新分部并使用 MetadataType 标记它。然后创建具有匹配属性的 Metadata 类并装饰它们。
/* Generated class */
public partial class Customer
{
public string Name { get; set; }
}
/* MetadataType decorated class */
[MetadataType(CustomerMetadata)]
public partial class Customer
{ /* ... */ }
/* Metadata type */
public class CustomerMetadata
{
[Required(ErrorMessage = "Name is required")]
public string Name { get; set; }
}
【讨论】: