Hat jemand ein Beispiel für Buddy-Klassen in ASP.NET MVC 2 Preview 1 haben? Ich kann nichts auf dem MSDN darüber finden, aber nach ScottGu haben sie Funktionalität in der neuesten Version hinzugefügt.ASP.NET MVC V2 - Buddy Klassen
6
A
Antwort
10
Ich glaube, was Sie suchen ist MetadataTypeAttribute. Dies ist nicht spezifisch für MVC, sondern Teil des in 3.5 eingeführten Namespace DataAnnotations. Sie können damit Mitglieder einer partiellen Klasse außerhalb der Klasse schmücken.
Wenn Sie beispielsweise einen generierten partiellen Klassentyp mit dem Namen Customer hatten und diesem Attribute hinzufügen möchten, können Sie ein neues Partial im selben Namespace erstellen und mit dem MetadataType versehen. Erstellen Sie dann die Metadata-Klasse mit übereinstimmenden Attributen und dekorieren Sie sie.
/* 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; }
}
Verwandte Themen
- 1. .NET-Domänenmodell-Validierung und Buddy-Klassen
- 2. C# Buddy-Klassen/Meta-Daten und Reflektion
- 3. ASP.NET MVC POCO Klassen und Validierung
- 4. ASP.NET MVC + LINQ Generierte Klassen + DataAnnotations
- 5. ASP.NET MVC - WCF-Klassen für Modelle
- 6. Datenvalidierung mit benutzerdefinierten Attributen (AttributeTargets.Class) auf EF Buddy-Klassen
- 7. Kinect v1 und Kinect v2 Klassen Alternativen
- 8. ASP.NET MVC EditorTemplate Unterordner
- 9. Warum müssen ASP.NET MVC Controller-Klassen öffentlich sein?
- 10. ASP.NET MVC-Ansichten sehen keine Klassen nach massivem Refactoring
- 11. Wohin gehen Subsonic-Klassen in einem ASP.NET MVC-Projekt?
- 12. Wohnung vs Nested Ansichtsmodell Klassen in ASP.NET MVC
- 13. ASP.Net VS ASP.Net MVC
- 14. ASP.NET MVC ohne ASP.NET?
- 15. ASP.Net MVC Benutzerdefinierte Authentifizierung
- 16. Linux: Buddy System freier Speicher
- 17. Transfer-Site mit Backup-Buddy
- 18. Zwingende ASP.NET Mitgliedschaft in ASP.NET MVC 4
- 19. asp.net MVC
- 20. - ASP.NET MVC
- 21. ASP.NET MVC - Dependency Injection
- 22. ASP.NET MVC Versionierung Problem
- 23. asp.net MVC DataAnnotations
- 24. Asp.Net MVC - Change Fehlerklasse Name
- 25. Gerüste Controller in ASP.NET MVC
- 26. Modellwarnungen in ASP.NET MVC
- 27. ASP.NET MVC 5 einfache Anmeldung
- 28. asp.net WebForms & asp.net MVC Sicherheitsoptionen
- 29. ASP.NET MVC vs. ASP.NET 4.0
- 30. Asp.net Mvc 2 DisplayFor Performance-Problem?
Dank Tonnen! Genau das habe ich gebraucht. :) –
Was ist der Punkt in der Trennung der Klassen? – UpTheCreek
Es ist nicht so sehr ein „Punkt“, wie es ein hässliches Problem umgehen, um Umgang mit automatisch generierten Klassen von EF oder LINQ2SQL. Da die Klassendateien erzeugt werden, gibt es keine Möglichkeit, Attribute auf die Eigenschaften anzuwenden, daher wurde eine hacky Alternative geschaffen. –