È possibile associare una relazione di chiave esterna sul modello a un input di modulo?ASP.NET Modello MVC vincolante rapporto chiave esterna
Dire che ho una relazione uno-a-molti tra Car
e Manufacturer
. Voglio avere un modulo per l'aggiornamento Car
che include un input di selezione per l'impostazione Manufacturer
. Speravo di essere in grado di farlo usando il modello integrato, ma sto iniziando a pensare che dovrò farlo da solo.
mia azione firma del metodo è simile al seguente:
public JsonResult Save(int id, [Bind(Include="Name, Description, Manufacturer")]Car car)
La forma messaggi i valori nome, descrizione e produttore, in cui produttore è una chiave primaria di tipo int
. Il nome e la descrizione vengono impostati correttamente, ma non il produttore, il che ha senso dal momento che il raccoglitore modello non ha idea di cosa sia il campo PK. Significa che dovrei scrivere una custom IModelBinder
che ne sia a conoscenza? Non sono sicuro di come funzionerebbe dal momento che i miei archivi di accesso ai dati vengono caricati attraverso un contenitore IoC su ciascun costruttore Controller
.
Esempio molto utile! Un'idea che posso suggerire, però, sta usando l'interfaccia 'IModelBinderProvider' per indirizzare questo modello di raccoglitore per i tipi di modello invece di controllare all'interno del raccoglitore. Brad Wilson ha scritto su questo [qui] (http://bradwilson.typepad.com/blog/2010/10/service-location-pt9-model-binders.html). –
sì, sarebbe fantastico. Non ho ancora aggiornato su MVC3, comunque. –