2011-06-21 14 views

Odpowiedz

3

Możesz utworzyć ViewModel Z, który przeszedł do widoku. Jeśli chcesz przekazać model X lub Y, po prostu przekazałeś to Z, a następnie przekazujesz model Z do widoku.

2

Upewnij się, że obie klasy implementują ten sam interfejs i używają interfejsu jako modelu.

Zgodnie z sugestią Tima: Jeśli to możliwe, możesz również dziedziczyć z tej samej klasy bazowej. Chociaż nie zawsze jest to możliwe, korzystanie z interfejsu jest możliwe.

+1

... lub klasa podstawowa. –

1

Głównie jak gandil: Utwórz ViewModel Z, ale używaj Automappera do mapowania z Y i X. W ten sposób możesz utrzymywać swoje modele UI czyste i SUCHE.

5

Nie jestem pewien, czy to jest najlepsze praktyki, ale można też użyć HTML.RenderAction zadzwonić kontroler i nie zwróci PartialViewResult z modelem cokolwiek chcesz, tak jak poniżej:

@{Html.RenderAction("MyPartialAction", "MyController", new { someID = 1 });} 

i

public PartialViewResult MyPartialAction(int? someID) 
{ 
     return PartialView("MyPartial",SomeModel); 
} 
Powiązane problemy