Есть ли у кого-нибудь пример классов друзей в ASP.NET MVC 2 Preview 1? Я не могу найти ничего об этом в MSDN, но согласно ScottGu они добавили для него функциональные возможности в самом последнем выпуске.
ASP.NET MVC V2 - дружеские классы
Ответы (1)
Я считаю, что вы ищете MetadataTypeAttribute. Это не что-то специфическое для MVC, это часть пространства имен DataAnnotations, представленного в 3.5. Он позволяет вам украшать элементы частичного класса, внешние по отношению к самому классу.
Например, если у вас есть сгенерированный частичный тип класса с именем 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; }
}
person
andymeadows
schedule
07.08.2009
Большое спасибо! Это именно то, что мне было нужно. :)
- person Nathan Taylor; 07.08.2009
Это не столько вопрос, сколько уродливый обходной путь для обработки автоматически сгенерированных классов из EF или LINQ2SQL. Поскольку файлы классов генерируются, нет возможности применить атрибуты к свойствам, поэтому была создана хакерская альтернатива.
- person Nathan Taylor; 09.12.2009
Я пытаюсь использовать этот подход, но единственный атрибут, который, кажется, работает в EditorForModel (), - это DisplayName.
- person ProfK; 07.10.2010