Schritt 2 auf meiner heutigen Suche ist die Erstellung von ASP.NET MVC 3 mit Razor-Ansichten, die in der Lage sind, Klassen-Subklassen-Objekte zu handhaben. Ich möchte also ein Formular/eine Seite erstellen, das/die Person -> Frau oder Person -> Mann basierend auf der Auswahl eines DropDownList (Mann/Frau) handhaben kann.
Die Daten sind in der Datenbank gespeichert und werden mit EF 4.1 Code First abgerufen. Das funktioniert einwandfrei. Wenn ich also eine Frau speichere und mit context.Person.Where(p => p.Id == 1)
abrufe, erhalte ich ein Objekt Frau.
Das Problem, das ich habe, ist, dass ich nicht weiß, was ich als Modell in der Ansicht verwenden soll. Person wäre am offensichtlichsten, aber wie könnte ich dann die Eigenschaften von Frau/Mann anzeigen/aufrufen/speichern? Und im Falle eines Erstellens ist der Typ nicht im Voraus bekannt (serverseitig). Der Benutzer kann entweder eine Frau/einen Mann auswählen und erwartet, die spezifischen Eigenschaften einer Frau oder eines Mannes auszufüllen.
Siehe diese Frage für das Modell.
0 Stimmen
Es gibt zwei Ansätze, die ich sehe: 1) Sie liefern eine HTML-Seite, die nicht zusätzliche Eigenschaften herunterlädt, und 2) Sie werden zusätzliche Eigenschaften über eine AJAX-Anfrage von Ihrer HTML-Seite herunterladen. Im Fall 1 benötigen Sie eine spezielle Art von Modell, das ein Superset von sowohl
Mann
als auchFrau
Eigenschaften ist. Im Fall 2 müssen separate Modelle für die 'Initiale' Ansicht erstellt werden (das Modell wirdPerson
sein), und für die über AJAX geladenen Eigenschaften (die Modelle werdenMann
undFrau
sein).