Ho sviluppato in passato la classica soluzione ASP.NET. Sto iniziando attualmente a sviluppare soluzioni ASP.NET MVC, ma ho un problema a capire cos'è un modello e cosa dovrebbe contenere.
In passato avevo un oggetto. Ad esempio uno per User , Product e un oggetto per Countries e uno per Product Categories . Quindi all'interno della classe User avevo un metodo per recuperare un utente, salvandolo e aggiornandolo. L'utente obietta le proprietà dove sono associate a caselle di testo o etichette nella pagina .aspx tramite codice codebehind. Quindi la selezione DropDowns per Paese e DropDown per Categorie prodotto è stata anche associata agli oggetti corresbonding.
Ora la mia domanda sul M > Modello in ASP.NET MVC. Cosa dovrebbe contenere e cosa no? Intendo il modello poiché la mia comprensione deve contenere TUTTE le informazioni necessarie per il rendering della pagina. Questo significa che avrò un List<Countries> per le caselle DropDown e anche User.CountryId entrambi all'interno del Modello? E anche l'ErrorMessage deve essere aggiunto al Model quando lancio un'eccezione e voglio mostrarlo sulla stessa pagina? O mi sbaglio? Qual è la differenza tra Model , ViewData e ViewBag ? Quando usare cosa? Domande sulle domande ma forse qualcuno può illuminarmi:)