1

我在将非无参数类作为模型传递给控制器​​中的视图时遇到问题。

我最近从结构图 2.5.3 迁移到 2.6.2。在 2.5.3 中一切正常,但在 2.6.2 中不再适用。这是我的自定义控制器工厂:

public class StructureMapControllerFactory : DefaultControllerFactory
{
    protected override IController GetControllerInstance(RequestContext requestContext, Type controllerType)
    {
        try
        {
            return ObjectFactory.GetInstance(controllerType) as Controller;
        }
        catch (StructureMapException)
        {
            Debug.WriteLine(ObjectFactory.WhatDoIHave());
            throw;
        }
    }
}

并接线:

ControllerBuilder.Current.SetControllerFactory(typeof(StructureMapControllerFactory));

我的自定义模型绑定器引发异常:http ://screencast.com/t/xZDNAAmM

可能是什么问题?

4

1 回答 1

0

我认为这与您的 DI 容器无关。当 instance 为 null 时,会调用你的 modelbinder,它可能会尝试创建一个modelType不可能的新实例,因为它没有无参数的构造函数。

我想你只是在你的构造函数中添加了一个构造函数参数modelType

于 2011-08-16T19:08:46.303 回答