Merhaba, bir MVC uygulaması ile ben kullanıyorum.DI, denetleyiciler için çalışıyor, ancak modeli göremiyor
Denetleyicileri için çalışmayı başarabildiğimden doğru şekilde ayarladığımdan eminim.
public class SettingController : Controller
{
private readonly IUnitOfWork _unitOfWork;
public SettingController(IUnitOfWork unitOfWork)
{
_unitOfWork = unitOfWork;
}
Ondan sonra görünümü örneği:
public class GstRateController : Controller
{
private readonly IUnitOfWork _unitOfWork;
public GstRateController(IUnitOfWork unitOfWork)
{
_unitOfWork = unitOfWork;
}
...
Sonra ben o çalıştı aynı zamanda bir ViewModel üzerinde iyi olacağını düşündüm: Burada bir denetleyici için bir örnektir ve düzgün çalıştığını tarafından bir denetleyici model:
public ActionResult Index()
{
return View("Index", Activator.CreateInstance<SettingViewModel>());
}
Ama bu bana hata veriyor:
yok p bu nesne için tanımlanan arametrisiz kurucu.
Yeniyim. Birisi bana bu görünüm modülleri için nasıl başarılacağını söyleyebilir misiniz? Eğer Ninject Nuget yüklerken bir özel bağımlılık çözücü kaydeder ve ASP.NET MVC framework denetleyici fabrika veya denetleyicileri örneğini bağımlılık çözücü ya kullanması nedeniyle
'Activator.CreateInstance()' yansımalardır, değil. Ninject, bileşenleri açıkça çözmek için kernel.Get () 'işlevini kullanır. Ancak, genellikle çekirdeği uygulamanızın ortasında kullanmamalısınız. Bunun yerine Darin'in cevabına bakınız. –