Est-il possible de lier une relation de clé étrangère sur mon modèle à une entrée de formulaire? Dire que j'ai une relation un-à-plusieurs entre Car
et Manufacturer
. Je veux avoir un formulaire pour mettre à jour Car
qui comprend une entrée de sélection pour le réglage Manufacturer
. J'espérais pouvoir le faire en utilisant le modèle intégré, mais je commence à penser que je vais devoir le faire moi-même.Relation de clé étrangère de liaison de modèle ASP.NET MVC
Ma signature de la méthode d'action ressemble à ceci:
public JsonResult Save(int id, [Bind(Include="Name, Description, Manufacturer")]Car car)
Le formulaire messages les valeurs Nom, Description et fabricant, lorsque le fabricant est une clé primaire de type int
. Le nom et la description sont définis correctement, mais pas par le fabricant, ce qui est logique puisque le classeur modèle n'a aucune idée de ce qu'est le champ PK. Cela signifie-t-il que je devrais écrire un IModelBinder
personnalisé pour qu'il en soit conscient? Je ne sais pas comment cela fonctionnerait puisque mes dépôts d'accès aux données sont chargés via un conteneur IoC sur chaque constructeur Controller
.
Exemple très utile! Une idée que je peux suggérer, cependant, utilise l'interface 'IModelBinderProvider' pour cibler ce classeur modèle pour vos types de modèles au lieu de vérifier à l'intérieur du classeur. Brad Wilson a écrit à ce sujet [ici] (http://bradwilson.typepad.com/blog/2010/10/service-location-pt9-model-binders.html). –
oui, ce serait génial. Je n'ai pas encore mis à jour pour MVC3, cependant. –