我使用Ninject,我想注入我model.I的屬性有以下型號Ninject注入模型asp.net MVC
public class TCFormModel
{
public string Name { get; set; }
public IPNConBut pConBut { get; set; }
}
我想用我的ConBut
類,它實現IPNConBut
注入IPNConBut
。
public class ConBut : IPNConBut { ... }
我該怎麼做?
以後編輯 - 更多信息:
我的模型在使用的粘合劑,當它試圖創建TCFormModel的實例失敗。這是有道理的,但如何避免這種情況?我嘗試了兩個構造函數,一個是無參數的,另一個是綁定參數。我也嘗試過[注入]屬性,甚至在構造函數上,我也得到了相同的結果。構造函數從不使用。
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;
}
}
Factory接口:
public interface IPNConButFactory
{
IPNConBut Create();
}
是的,但問題是,如果我創建一個新的模型,像'new TCFormModel()'它將需要一個參數,我不能發送任何東西。在這種情況下我該怎麼辦?這並不能解決我的問題。它會說不知道什麼是IPNConBut參數。 – tzortzik
我甚至嘗試過工廠,但我無法得到它的工作。 – tzortzik
我更新了我的帖子。 – tzortzik