2017-05-11 1 views
0

In meinem MVC-Projekt habe ich ein Dashboard, das es einem Benutzer ermöglicht, mehrere Metriken mit Hilfe von Teilansichten anzuzeigen, die von einem Modell unterstützt werden Armaturenbrett über @Html.Partial("_QuarterlyMetrics") und @Html.Partial("_TeamStats"). Insgesamt sind etwa 7 UI-Abschnitte abhängig von anderen Modellen außerhalb der @model DevProj.Dashboards.Models.DashboardModel. Die Frage ist: Sind partielle Ansichten der beste Ansatz für die Abhängigkeit mehrerer Modelle in einer einzigen Ansicht oder gibt es einen besser wartbaren Ansatz? Ich habe gesehen, wo einige Leute ein übergeordnetes ViewModel erstellen, das ein IEnumerable von allen Modellen annimmt, von denen eine einzelne Ansicht abhängig ist.Sind MVC Partial Views der beste Ansatz zum Einbinden mehrerer Modelle in eine Ansicht?

+0

Bitte beachten Sie, dass das Model-View-Controller-Tag für Fragen über das Muster. Es gibt ein bestimmtes Tag für die ASP.NET-MVC-Implementierung. –

Antwort

1

Sie könnten ein Containermodell speziell für Ihre Ansicht erstellen. In dem würden Sie alle notwendigen Modelle speichern. Alternativ, obwohl nicht empfohlen, können Sie Ihre Modelle in der Sitzung speichern und dann zur Laufzeit laden.

Definieren Sie Ihre Container ...

public class CustomViewModelContainer 
{ 
    public XModel x { get; set; } 
    public YModel y { get; set; } 
} 

Then ...

var container = new CustomViewModelContainer() 
{ 
    x = new XModel(), 
    y = new YModel() 
}; 
return View("CustomView", container); 
Verwandte Themen