Asp.net mvc Nhibernate、MVC和ModelBinder

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"/>

我想用Nhibernate配置我的模型绑定器:

因此,我:

<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实例

致以最良好的祝愿, 马蒂亚斯