Je veux configurer mes classeurs modèles avec NHibernate:Nhibernate, MVC et ModelBinders
J'ai donc:
<object id="GigModelBinder" type="App.ModelBinders.GigModelBinder, App.Web" singleton="false" >
<property name="VenueManager" ref="VenueManager"/>
<property name="ArtistManager" ref="ArtistManager"/>
J'ai un attribut qui marque les actions du contrôleur afin qu'ils utilisent classeur modèle correct ie
[AcceptVerbs("POST")]
public ActionResult Create([GigBinderAttribute]Gig gig)
{
GigManager.Save(gig);
return View();
}
Cela fonctionne très bien et mon GigModelBinder a le VenueManger correct et ArtistManager injecté
Toutefois, si dans l'application Démarrer j'ajouter:
System.Web.Mvc.ModelBinders.Binders.Add(typeof(App.Shared.DO.Gig), new GigModelBinder());
et dans une utilisation d'action du contrôleur:
UpdateModel<Gig>(gig);
par exemple:
[AcceptVerbs("POST")]
public ActionResult Update(Guid id, FormCollection formCollection)
{
Gig gig = GigManager.GetByID(id);
UpdateModel<Gig>(gig);
GigManager.Save(gig);
return View();
}
Le VenueManger et ArtistManager n'ont PAS été injectés dans GigModelBinder.
Des idées que je fais mal?