Asp.net mvc Nhibernate、MVC和ModelBinder
我想用Nhibernate配置我的模型绑定器: 因此,我:Asp.net mvc Nhibernate、MVC和ModelBinder,asp.net-mvc,nhibernate,model-view-controller,modelbinders,Asp.net Mvc,Nhibernate,Model View Controller,Modelbinders,我想用Nhibernate配置我的模型绑定器: 因此,我: <object id="GigModelBinder" type="App.ModelBinders.GigModelBinder, App.Web" singleton="false" > <property name="VenueManager" ref="VenueManager"/> <property name="ArtistManager" ref="ArtistManager"/>
<object id="GigModelBinder" type="App.ModelBinders.GigModelBinder, App.Web" singleton="false" >
<property name="VenueManager" ref="VenueManager"/>
<property name="ArtistManager" ref="ArtistManager"/>
这很好用,我的GigModelBinder注入了正确的VenueManager和ArtistManager
但是,如果在应用程序启动中添加:
System.Web.Mvc.ModelBinders.Binders.Add(typeof(App.Shared.DO.Gig), new GigModelBinder());
在控制器动作中使用:
UpdateModel<Gig>(gig);
UpdateModel(gig);
例如:
[AcceptVerbs("POST")]
public ActionResult Update(Guid id, FormCollection formCollection)
{
Gig gig = GigManager.GetByID(id);
UpdateModel<Gig>(gig);
GigManager.Save(gig);
return View();
}
[AcceptVerbs(“POST”)]
公共操作结果更新(Guid id,FormCollection FormCollection)
{
Gig-Gig=GigManager.GetByID(id);
更新模型(gig);
GigManager.Save(gig);
返回视图();
}
VenueManager和ArtistManager尚未注入GigModelBinder
知道我做错了什么吗?在第一个示例中,您通过Spring.NET检索对象。这意味着它将查找所有依赖项,并将它们粘贴到您的对象中,所有这些都可以正常工作 在第二个示例中,您完全忘记了Spring.NET,只创建了一个类的普通实例 您注册活页夹的行应如下所示:
System.Web.Mvc.ModelBinders.Binders[typeof(App.Shared.DO.Gig)] = context.GetObject("GigModelBinder");
其中,上下文是Spring.NET包中的IAApplicationContext或IObjectFactory实例
致以最良好的祝愿,
Matthias。在第一个示例中,您通过Spring.NET检索对象。这意味着它将查找所有依赖项,并将它们粘贴到您的对象中,所有这些都可以正常工作 在第二个示例中,您完全忘记了Spring.NET,只创建了一个类的普通实例 您注册活页夹的行应如下所示:
System.Web.Mvc.ModelBinders.Binders[typeof(App.Shared.DO.Gig)] = context.GetObject("GigModelBinder");
其中,上下文是Spring.NET包中的IAApplicationContext或IObjectFactory实例
致以最良好的祝愿,
马蒂亚斯