Ciao Sto usando ninject con un'app MVC.DI ninject funzionante per controller ma non vista modello
Sono sicuro di averlo configurato correttamente in quanto sono in grado di farlo funzionare per i miei controller. Ecco un esempio per un controller e funziona correttamente:
public class GstRateController : Controller
{
private readonly IUnitOfWork _unitOfWork;
public GstRateController(IUnitOfWork unitOfWork)
{
_unitOfWork = unitOfWork;
}
...
poi ho pensato che sarebbe anche bene su un ViewModel così ho provato con:
public class SettingController : Controller
{
private readonly IUnitOfWork _unitOfWork;
public SettingController(IUnitOfWork unitOfWork)
{
_unitOfWork = unitOfWork;
}
Allora ho un'istanza della vista il modello in un controller da:
public ActionResult Index()
{
return View("Index", Activator.CreateInstance<SettingViewModel>());
}
Ma questo mi sta dando l'errore:
No p costruttore arameterless definito per questo oggetto.
Sono nuovo di DI. Qualcuno potrebbe dirmi come ottenerlo per i modellini?
'Activator.CreateInstance()' è riflessioni, non Ninject. Ninject usa 'kernel.Get ()' per risolvere esplicitamente i componenti. Ma non dovresti generalmente usare il kernel nel mezzo della tua app. Vedi invece la risposta di Darin. –