Verzameling van weergavemodellen terugzenden

Ik heb asp.net mvc 3 al een tijdje niet gebruikt (kreeg kant volgen). Ik kan me niet herinneren of het een goede gewoonte is om een ​​verzameling beeldmodellen terug te sturen?

Hoe ik mijn code nu heb, heb ik nu een weergavemodel met andere weergavemodellen. Op deze manier stuur ik slechts één viewmodel terug.

De weergavemodellen in dit ene weergavemodel kunnen echter een verzameling zijn. Ik heb echter een geval waarin ik meerdere beeldmodellen terug moet sturen, maar dat is alles wat ik nodig heb om te verzenden. Ik heb geen andere eigenschappen of andere weergavemodellen die worden teruggestuurd.

Het lijkt nogal zinloos om het om een ​​ander weergavemodel te wikkelen, alleen om ervoor te zorgen dat het slechts één weergavemodel terugkrijgt.

Dus is het goede oefening of niet?

Bedankt

1

2 antwoord

Er is absoluut niets mis met die aanpak. Geef alles terug wat nodig is om de weergave weer te geven. Je kunt later zeker refactoren gebruiken als je extra gegevens wilt laten doorgeven aan je weergave.

2
toegevoegd

Ik geef slechts één ViewModel door aan een View . MAAR, dat enkele ViewModel heeft mogelijk enkele eigenschappen die OTHER ViewModels zijn.

hier is een voorbeeldweergave voor mijn startpagina ....

namespace RavenOverflow.Web.Models.ViewModels
{
    public class IndexViewModel : _LayoutViewModel
    {
        public IndexViewModel(ICustomIdentity customIdentity) : base(customIdentity)
        {
        }

        public IList Questions { get; set; }
        public AuthenticationViewModel AuthenticationViewModel { get; set; }
        public IDictionary RecentPopularTags { get; set; }
        public UserTagListViewModel UserFavoriteTagListViewModel { get; set; }
        public UserTagListViewModel UserIgnoredTagList { get; set; }
    }
}

De 2e, 4e en 5e eigenschappen bevatten allemaal individuele ViewModels.

Ik heb dit opgehaald van enkele zelfstudiecode die ik onlangs heb geschreven .

0
toegevoegd
Als er helemaal niets in het viewmodel is ... dan gebruik ik geen viewmodel. In mijn voorbeeld hierboven wordt de eigenschap Questions geplakt naar een gedeeltelijk .. dus dat is een eenvoudig scenario. Maar als ik eenmaal View-logica heb .. betekent dit in het algemeen dat ik twee of meer eigenschappen nodig heb .. en dus is een ViewModel geboren. Ik -nooit- doe elke logica in een weergave. Bijv. Laat ik deze knop zien of niet? die is gedefinieerd in de ViewModel-eigenschap OF via de controller. Het weergavemodel doet het alleen als (eigenschap == true | false) .. wat Html .. en natuurlijk voor elke .....
toegevoegd de auteur Pure.Krome, de bron
Ja, dat is hoe ik normaal (verwacht dat ik ook Vragen in een weergavemodel opsplitsen). Ik vraag het echter in dit geval omdat ik geen andere kijkmodellen of andere eigenschappen bij de hand heb. Lijkt nu zinloos om het in een ander weergavemodel te wikkelen omwille van het in een ander kijkmodel te wikkelen.
toegevoegd de auteur chobo2, de bron