Mi chiedo se esiste un modo per utilizzare il collegamento del modello incorporato simile al collegamento del modello interno che si verifica prima di un'azione del controllore.Associazione manuale del modello con .Net Mvc
Il mio problema è che voglio essere in grado di controllare il binding poiché non conoscerò il tipo di oggetto da legare fino a quando non sono effettivamente nel contesto dell'azione del controller.
ho capito che posso ereditare la DefaultModelBinder per eseguire personalizzato vincolante, ma sono felice con ciò che è già in offerta, e vogliono solo utilizzarlo - prendere questa ideale esempio per avere un'idea di quello che sto cercando :
public ActionResult DoCustomBinding(string modelType)
{
... // logic to determine type to check and create strong 'actual' type
object model = BindModel(actualType);
... // do something with bound model
return View();
}
ho guardato in utilizzando il DefaultModelProvider ma non siete sicuri se questo è il modo giusto di andare su questo e non ero sicuro di come ottenere il ModelBindingContext.
Hai ragione. È un comportamento scarso su un sito così utile, mi sono dato un ticchettio approfondito. –
Cercherò di essere più specifico, il mio obiettivo finale è quello di essere in grado di convalidare una singola proprietà di una classe decorata con attributi di validazione. Quindi, armato solo di un nome stringa del tipo da controllare, nome (i) campo (i) e valore (i) - Mi piacerebbe essere in grado di legare il modello (che dovrò risolvere dal tipo) quindi eseguire controlli su di esso. –
Ho intenzione di dare un'occhiata a ControllerActionInvoker http://aspnet.codeplex.com/SourceControl/changeset/view/72551#266452 sembra che potrebbe darmi un'idea di come è fatto internamente. –