我想用 Nhibernate 配置我的模型绑定器:
所以我有:
<object id="GigModelBinder" type="App.ModelBinders.GigModelBinder, App.Web" singleton="false" >
<property name="VenueManager" ref="VenueManager"/>
<property name="ArtistManager" ref="ArtistManager"/>
我有一个标记控制器操作的属性,以便它们使用正确的模型绑定器,即
[AcceptVerbs("POST")]
public ActionResult Create([GigBinderAttribute]Gig gig)
{
GigManager.Save(gig);
return View();
}
这工作正常,我的 GigModelBinder 注入了正确的 VenueManger 和 ArtistManager
但是,如果在应用程序开始我添加:
System.Web.Mvc.ModelBinders.Binders.Add(typeof(App.Shared.DO.Gig), new GigModelBinder());
并在控制器动作中使用:
UpdateModel<Gig>(gig);
例如:
[AcceptVerbs("POST")]
public ActionResult Update(Guid id, FormCollection formCollection)
{
Gig gig = GigManager.GetByID(id);
UpdateModel<Gig>(gig);
GigManager.Save(gig);
return View();
}
VenueManger 和 ArtistManager 尚未注入 GigModelBinder。
任何想法我做错了什么?