2011-01-22 7 views
25

Sembra che il team mvc 3 abbia deciso di introdurre una funzionalità per lo scambio dinamico di dati tra un controller e una vista chiamata viewbag, ma è una buona cosa contro la visualizzazione fortemente tipizzata che tutti conosciamo? Vorresti la tua opinione .. Questa funzione sostituirà la visualizzazione fortemente tipizzata? (viewmodels)L'utilizzo di ViewBag in MVC è errato?

+0

Sì, il ViewBag è danneggiato. La digitazione forte è una buona pratica per molte ragioni (che puoi ricercare per te stesso). Vorrei usare il ViewBag con molta parsimonia. Il vero problema con le cattive pratiche come queste deriva dal fatto che le persone hanno la tendenza a tagliare e incollare il codice da progetto a progetto ... quindi finisce per infettare le tue soluzioni come una malattia. Perché non prendersi il tempo per scrivere un buon codice? Quindi, se il problema è la velocità di sviluppo, condividere quel codice utilizzando un server NuGet interno (invece). –

risposta

33

ViewBag è la stessa cosa di ViewData in precedenti ASP.NET MVC 1 e 2. Capita di essere dinamico invece di doverlo usare come un dizionario con le chiavi. Non penso che questo sostituirà affatto le viste fortemente tipizzate e in effetti dovresti usare Viewdata/Viewbag il meno possibile. Usa sempre le viste fortemente tipizzate quando possibile, poiché causerà meno errori se i nomi nel tuo Viewdata/Viewbag cambiano e rendono il pulitore HTML non avendo ViewData proiettato dappertutto.

+4

Allora perché Microsoft ha creato il ViewBag? –

+2

@CarstenGehling è lì così hai la possibilità di fare le cose in modo rapido e sporco se si sceglie. A volte le aziende hanno bisogno di una soluzione rapida e sporca e MVC non tenta di effettuare quella chiamata per te. Tocca a voi. – Chris

+9

Tendo a dire che questo porta i neofiti al mondo della "cattiva pratica". – Rushino