Sono abbastanza nuovo per MVC4, EF5 e ASP.Net e non riesco a trovare una buona risposta da nessuna parte.ViewModels o ViewBag?
Fondamentalmente, tutto dovrebbe essere eseguito tramite il viewmodel o è corretto includere anche il viewbag?
Dire che ho un metodo che popola un elenco a discesa, e sto usando un viewmodel per rappresentare l'output per la vista.
sono io ok per utilizzare Viewbag.DropDown = PopulateDropdown();
o sarebbe meglio incorporare questo nel ViewModel, con la creazione di una struttura per contenere il List<SelectListItem>
creato da PopulateDropdown();
?
So quanto utile ViewBag è, ma devo ancora vedere una solida ragione per non usarlo? Se qualcuno potesse offrirmi qualche altra idea, sarebbe fantastico.
Grazie, c'è qualche altro vantaggio di utilizzare ViewModels oltre ViewBag a parte l'astrazione che offre? – EverythingGeek
Certo che c'è. Ottieni Intellisense e puoi utilizzare le versioni fortemente tipizzate degli helper Html all'interno delle tue visualizzazioni. Riceverai anche un codice di refactoring e non farai più affidamento su stringhe magiche. Inoltre, è chiaro dove le informazioni provengono da una determinata vista guardando solo il modello di vista a cui questa vista è fortemente tipizzata. Se stavi usando una combinazione di ViewModels e ViewBag, dovresti anche guardare l'azione del controller che sta impostando ViewBag. –
Grazie per averlo chiarito :) – EverythingGeek