Ich habe ein Benutzermodell, das eine Sammlung von Geräten enthält. Benutzer können eine beliebige Anzahl von Geräten haben, aber jedes Gerät kann nur einen Benutzer haben.ASP.NET MVC3: Fügen Sie ein Element aus der Liste in die Sammlung eines Modells, von "Bearbeiten" Ansicht
Ich mache eine Seite zum Bearbeiten von Benutzern. Wenn die Gerätesammlung des Benutzers bearbeitet werden muss, zeigt die Ansicht eine Tabelle der dem Benutzer zugeordneten Geräte an, mit den Links Entfernen neben und einer Tabelle der Geräte, die derzeit keinem Benutzer zugeordnet sind, mit Hinzufügungen. Die Ansicht wird in ein Ansichtsmodell eingegeben, das beide Listen enthält.
Dies ist alles innerhalb einer Teilansicht, so dass (im Idealfall) kann dynamisch mit Ajax aktualisiert werden.
Leider bin ich ziemlich neu in ASP.NET und MVC3 und Web-Entwicklung im Allgemeinen. Wie soll ich die Ansicht schreiben, um dies zu implementieren?
Die meisten meiner Annahmen über die Implementierung dieser basieren auf this Tutorial. Er macht etwas ähnliches, aber er verwendet nur @ Html.EditorFor und fügt, was auch immer der Benutzer in das Textfeld eingibt, in die Sammlung ein und wählt kein existierendes Objekt aus. Vermutlich muss ich die ID des ausgewählten Geräts an den Controller zurücksenden, damit es das Gerät zwischen Listen verschieben und die aktualisierte Teilansicht zurückgeben kann. Aber die Ansicht wird in das Ansichtsmodell eingegeben, und (wenn ich mich nicht irre) kann ich keine willkürlichen Daten zurück an den Controller in einem Post senden; Ich kann nur das Viewmodel senden. Es scheint also, dass ich die ID des ausgewählten Geräts in das Ansichtsmodell schreiben muss, bevor ich es zurückschicke, aber wenn ich das tue, verletze ich das gesamte MVC-Muster, indem ich Daten in der Ansicht manipuliere.
Dies ist ein ziemlich rudimentäres Problem, also bin ich mir sicher, dass es viele Lösungen gibt, aber leider fehlt mir genug Domänenwissen, um überhaupt zu wissen, wie man danach sucht.