2009-09-17 9 views
0

J'ai un objet qui contient une collection d'éléments, chaque élément étant un autre objet. Dans ASP.NET MVC, je ne comprends pas très bien comment utiliser la liaison de données dans mes vues "Créer" pour cette collection, car chaque objet doit être créé nouveau.Liaison de données à un objet non créé (asp.net mvc)

Des suggestions? Voici le schéma.

Units 
- UnitId 

Rings 
- RingId 

Keys 
- RingId (FK) 
- KeyId (PK) 
- KeyLiteral (FK) 
- KeyValue 

Literals 
- LiteralId 
- LiteralValue 

et dans la vue ...

<%= Html.DropDownList("Rank", new SelectList(... wut...)) %> 

Il ne doit pas être un menu déroulant bien sûr. Je suis juste perdu parce que vous voyez, au moment de la création, les éléments n'existent pas. Ils sont ajoutés en ajoutant des clés au "KeyRing" (Unit.Ring.Keys.Add). Une clé s'attend à ce qu'un littéral et une valeur soient ajoutés.

Répondre

1

Quelles options voulez-vous dans la liste déroulante? Sont-ils de DB ou juste une énumération ou quelque chose? Pourraient-ils être transmis du contrôleur?

Dans ASP.NET MVC, il n'y a pas besoin de "liaison de données" en tant que telle. Au lieu de cela, vous ajoutez des champs de formulaire avec des noms correspondant aux paramètres de la méthode d'action que vous publiez, et le classeur modèle met automagiquement les bonnes valeurs dans chaque paramètre. Vous pouvez ensuite les utiliser comme vous le souhaitez lorsque vous enregistrez sur DB.

+0

Il ne doit pas vraiment être une liste déroulante, ce n'était qu'un exemple. Je voudrais être capable de spécifier une nouvelle clé, et avoir un champ de formulaire pour cela, et quand il revient au contrôleur être capable de le traiter comme tel dans la classe Unit qui est retournée. – Ciel

+0

OK. Quelle entité est-ce que vous créez? Unité? –

Questions connexes