Oltre ai dati del Model capita spesso di dover passare altre informazioni alle viste, ad esempio il valore di un campo di input o semplicemente una stringa da mostrare all'utente. Questa funzione è svolta all'interno di ASP.Net MVC dalla proprietà ViewData
, di tipo ViewDataDictionary
in cui i valori sono memorizzati in coppie chiave/valore.
public ActionResult Index() { ViewData["Messaggio"] = "Benvenuti in ASP.NET MVC!"; return View(); }
Il listato precedente mostra il metodo di un controller. All'interno del metodo viene assegnata alla chiave "Messaggio"
il valore "Benvenuti in ASP.NET MVC!"
. È possibile richiamare il valore all'interno della vista utilizzando il seguente codice:
<h1><%= Html.Encode(ViewData["Messaggio"]) %><h1>
Oltre a quelli contenuti in ViewData
, dalle nostre viste possiamo accedere anche ai valori contenuti nella proprietà TempData
di cui ci siamo occupati parlando dei controller. Il meccanismo con cui accedere ai dati è lo stesso di quello appena visto per ViewData
.