를 주입 Ninject에 나는 모델내가 Ninject에 사용하고 모델 asp.net MVC
내가IPNConBut
를 구현 내
ConBut
클래스와
IPNConBut
를 주입 할
public class TCFormModel
{
public string Name { get; set; }
public IPNConBut pConBut { get; set; }
}
다음 내 model.I의 속성이 주입합니다.
public class ConBut : IPNConBut { ... }
어떻게하면됩니까?
LATER 편집 - MORE INFO :
내 모델 바인더에 사용하고 TCFormModel의 인스턴스를 만들려고 할 때 실패합니다. 그것은 의미가 있지만 어떻게 이것을 피할 수 있습니까? 하나는 매개 변수가없는 하나는 바인딩 매개 변수가있는 두 개의 생성자로 시도했습니다. 나는 또한 속성에서 그리고 심지어 생성자에서 [Inject]를 시도했고 나는 같은 결과를 얻었다. 생성자는 사용되지 않습니다.
public class TCFormModelBinder : IModelBinder
{
private const string sessionKey = "TCFM_Model";
public object BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext)
{
TCFormModel model = null;
if (controllerContext.HttpContext.Session != null)
{
model = (TCFormModel)controllerContext.HttpContext.Session[sessionKey];
}
if (model == null)
{
model = new TCFormModel();
if (controllerContext.HttpContext.Session != null)
{
controllerContext.HttpContext.Session[sessionKey] = model;
}
}
return model;
}
}
공장 인터페이스 :
public interface IPNConButFactory
{
IPNConBut Create();
}
예, 문제는'new TCFormModel()'과 같은 새 모델을 만들면 매개 변수가 필요하므로 아무것도 보낼 수 없다는 것입니다. 이 경우 어떻게해야합니까? 이건 내 문제를 해결하지 못합니다. 그것은 IPNConBut 매개 변수가 무엇인지 알지 못합니다. – tzortzik
나는 Factory와 함께 시도해 보았지만 작동시키지 못했다. – tzortzik
내 게시물을 업데이트했습니다. – tzortzik