2012-07-20 42 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

相關問題