0

Возможно, это будет дуп, но я не нашел ничего, что поможет мне исправить проблему.MVC 3 Injection Dependency Injection

У меня есть контроллер, который может иметь различные ViewModels:

Я хотел бы сделать что-то вроде:

[HttpPost] 
public ActionResult ExportToExcell(ILeadsViewModel model) 
{ 


} 

Мои ViewModels являются:

public class ViewModelTest1 : ILeadsViewModel 

public class ViewModelTest2 : ILeadsViewModel 

public class ViewModelTest3 : ILeadsViewModel 

Есть ли возможность настроить Unity верните верный экземпляр для моего ViewModel? Если возможно, как? Если возможно, но вы не предлагаете этого, объясните, почему.

Спасибо.

+0

Меня интересуют, насколько они отличаются друг от друга и что это дает. –

+0

Каждая модель просмотра содержит вложенную модель, которая может различаться в зависимости от пользовательского запроса, а затем визуализация данных различна для каждого типа модели представления. – StringBuilder

ответ

1

Вы можете написать настраиваемое связующее устройство для типа ILeadsViewModel, которое вернет правильную модель просмотра на основе некоторых свойств запроса. Вот an example пользовательского связующего. В этом примере я использовал свойство Type, присутствующее в запросе, для модели конкретного вида, но вы можете использовать Unity или что-то еще. Но имейте в виду, что у вас должна быть какая-то информация, присутствующая в запросе, которая позволит связующему устройству модели узнать, какой конкретный экземпляр модели представления вернется.

+0

Спасибо, человек, я исправился, что вложение зависимостей в действие бесполезно, спасибо за указание в прямом направлении – StringBuilder

Смежные вопросы