0

也許它會重複,但我沒有找到任何可以幫助我解決問題的東西。MVC 3操作依賴注入

我有控制器,它可以有不同的ViewModels:

我想這樣做:

[HttpPost] 
public ActionResult ExportToExcell(ILeadsViewModel model) 
{ 


} 

我的ViewModels是:

public class ViewModelTest1 : ILeadsViewModel 

public class ViewModelTest2 : ILeadsViewModel 

public class ViewModelTest3 : ILeadsViewModel 

是否有機會配置統一爲我的ViewModel返回正確的實例? 如果可能的話如何? 如果可能,但你不建議這樣做,請解釋原因。

謝謝。

+0

我很感興趣,他們是多麼的不同以及給你什麼。 –

+0

每個viewModel都包含可根據用戶請求而不同的嵌套模型,然後針對每種類型的視圖模型呈現不同的數據 – StringBuilder

回答

1

您可以爲ILeadsViewModel類型編寫自定義模型聯編程序,該聯編程序將根據某些請求屬性返回適當的視圖模型。這是定製模型活頁夾的an example。在這個例子中,我使用了Activator.CreateInstance請求中的Type屬性,但是你可以使用Unity或其他任何東西。但請記住,請求中應包含一些信息,以便模型聯編程序知道視圖模型的哪個具體實例將返回。

+0

感謝man,我已經證明,注入Action的依賴注入是無用的,感謝您指向rigth方向 – StringBuilder