2012-07-20 104 views
5

我的控制器是从没有默认构造函数的控制器继承而来的。 T4MVC生成以下构造函数,其假定基础控制器具有默认构造函数:T4MVC基本控制器没有默认构造函数

protected MyControllerController(Dummy d) { } 

如何解决此问题?有趣的是,根据this页面,版本2.4.00“当基本控制器没有默认ctor时修正了问题”。我也found这个问题,但我的基础控制器不通用。

+0

我能够用2.10.0版本重新表达您的问题......我认为您应该在T4MVC问题跟踪器上发布问题,并且直到它修复使用链接SO问题的解决方法。即将一个默认构造函数添加到您的基类。 – nemesv 2012-07-24 07:09:30

+1

我出去了,但我会尽力在本周结束时进行调查。 – 2012-07-24 10:14:30

回答

6

这应该工作得很好,如果你让你的基础控制器抽象。我认为它不需要直接用作控制器?如果是这样,那么你总是可以创建另一个非抽象的派生类来处理它。

+0

是的,有几种方法可以解决它,但我正在研究这个场景(我在这里描述了它:http://stackoverflow.com/questions/11576606/asp-net-mvc-reuse-of-controllermodelviewroutes)看起来很合理。如果T4MVC支持没有黑客的话会不会很好? – SiberianGuy 2012-07-29 04:02:14

+0

没有关注你在这里。你是否直接使用基类型?如果没有,那么将其标记为抽象并不是破解,这是正确的做法。 – 2012-07-29 12:15:25

+0

我正在直接使用它。我只是将派生控制器的某些特定依赖关系传递给它。 – SiberianGuy 2012-07-29 16:32:30

相关问题