Ich habe string
-Eigenschaften für einige meiner Modellobjekte verwendet, um enums darzustellen. Ich verwende nur Zeichenketten, weil Entity Framework Code First noch keine Enumeration unterstützt. Wie auch immer, ich habe bemerkt, dass es ein Attribut in System.ComponentModel.DataAnnotations
namens EnumDataType
gibt. Ich habe versucht, dieses Attribut zu setzen, aber es scheint nichts zu beeinflussen.
Ich sollte erwähnen, dass es mein ultimatives Ziel ist, dass die entsprechende Dropdown-Liste für jeden Enum-Typ in einer "create" - oder "edit" -Ansicht erscheint. Ich dachte, vielleicht macht EnumDataType
dies in einem Auto-Scaffolding-Szenario leichter, aber ich bin mir nicht sicher, ob das der Fall ist.
Drei Fragen:
EnumDataType
einen Zweck in ASP.NET MVC? int
(anstelle von string
) sein, um EnumDataType
? EnumDataType
wird derzeit nur von dynamischen ASP.NET-Datenstandorten (in .NET 4.0) unterstützt. Sie können im Allgemeinen einen eigenen HTML-Helfer erstellen, der die Eigenschaftsprüfung übernimmt, wenn er das Attribut enthält (durch Reflektion) und ein Drop-Down-Objekt mit Werten aus der verknüpften Enumeration erstellt.
Die beste Lösung, die ich dafür gefunden habe, war die Kombination dieses Blog mit dieser Antwort . Dies macht sowohl die Ansicht als auch das Modell sehr lesbar und wartbar.
Siehe meine vollständige Antwort hier .
Modell:
%Vor%Anzeigen:
%Vor%Tags und Links asp.net-mvc asp.net-mvc-3 entity-framework entity-framework-4.1 ef-code-first