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:)