您好我正在使用ninject與MVC應用程序。DI ninject爲控制器工作,但無法查看模型
我確定我已經正確安裝了,因爲我可以讓它爲我的控制器工作。這裏是控制器的一個例子,它工作正常:
public class GstRateController : Controller
{
private readonly IUnitOfWork _unitOfWork;
public GstRateController(IUnitOfWork unitOfWork)
{
_unitOfWork = unitOfWork;
}
...
然後,我認爲這也將是一個ViewModel好,所以我想,有:
public class SettingController : Controller
{
private readonly IUnitOfWork _unitOfWork;
public SettingController(IUnitOfWork unitOfWork)
{
_unitOfWork = unitOfWork;
}
於是我實例化的視圖模型由控制器:
public ActionResult Index()
{
return View("Index", Activator.CreateInstance<SettingViewModel>());
}
但是,這是給我的錯誤:
否頁爲此對象定義的無參構造函數。
我是新來的DI。有人可以告訴我如何實現這個viewmodels?
'Activator.CreateInstance()'是反射,而不是Ninject。 Ninject使用'kernel.Get ()'顯式解析組件。但是你通常不應該在應用程序的中間使用內核。請參閱達林的回答。 –