Si tratta di un oggetto dinamico, significa che è possibile aggiungere proprietà ad esso nel controller, e leggere in un secondo momento nella vista, perché si sono essenzialmente crea l'oggetto come si fa, un caratteristica del tipo dinamico. Vedi questo MSDN article sulla dinamica. Vedi this article sul suo utilizzo in relazione a MVC.
Se si volesse utilizzare questo per moduli web, aggiungere una proprietà dinamica per una classe di pagina di base in questo modo:
public class BasePage : Page
{
public dynamic ViewBagProperty
{
get;
set;
}
}
avere tutte le pagine ereditare da questo. Dovresti essere in grado, nel tuo markup ASP.NET, di:
<%= ViewBagProperty.X %>
Che dovrebbe funzionare. In caso contrario, ci sono modi per aggirarlo.
fonte
2013-02-15 13:43:48
Il concetto doesn' Sembra che sia necessario in WebForms dato che la pagina ha già accesso diretto alle variabili nel suo codice dietro il file. Mentre in MVC la vista non ha accesso a nulla nel controller oltre ai dati che vengono trasmessi in ViewBag o Model. –