Programmazione.it v6.4
Ciao, per farti riconoscere devi fare il login. Non ti sei ancora iscritto? Che aspetti, registrati adesso!
Info Pubblicità Collabora Autori Sottoscrizioni Preferiti Bozze Scheda personale Privacy Archivio Libri Corsi per principianti Forum
Gestione dei layout con Razor in ASP.NET MVC 3 RC
Scritto da Luca Domenichini il 15-11-2010 ore 10:09
Seminario Intel
Una delle novità della terza versione del pattern ASP.NET MVC, uscito il 9 novembre in Release Candidate, è come già anticipato il nuovo view engine Razor. Quest'ultimo è stato creato da Microsoft con lo scopo di ottenere un motore di template e visualizzazione compatto ed espressivo. Vediamo quindi come creare pagine di layout con Razor.

La prima cosa che salta agli occhi è l'estensione dei file: quelli che preparano le View non sono più .aspx o .ascx, bensì .cshtml, estensione che identifica univocamente tutti i file da leggere tramite Razor. Dopodiché si distinguono due tipi di view, quelle con contenuto comune (una sorta di master page), e quelle che sviluppano il layout vero e proprio del modello.

Per quanto riguarda le prime si notano alcune importanti novità: la direttiva @inherits, che in passato era obbligatoria in cima al file per tipizzare il modello in gioco, ora è opzionale (se non serve la si può omettere tranquillamente); si utilizza il metodo @RenderBody() per indicare al parser la posizione dove verrà posto il layout dati, e una chiamata a View.Title per indicare la posizione, solitamente dentro la sezione <Head>, del titolo della pagina.

Dopodiché, in un secondo file .cshtml, si crea la view del modello, sfruttando alcune facilitazioni fresche di implementazione: per prima cosa tramite @model si contestualizza il tipo del modello; dopodiché usando @{ Layout } si indica il nome della pagina master-layout (dettaglio che in molte situazioni pratiche può essere omesso, inserendolo una volta per tutte in un unico nuovo file di configurazione chiamato _ViewStart.cshtml) e tramite View.Title si indica il titolo della pagina (che verrà ripreso e posizionato dalla pagina master-layout stessa).
  1. @model IList<Sample.Models.Fruits>
  2. @{
  3.     View.Title = "Fruits of the Loom";
  4. }
  5. <h2>Fruits</h2>
  6. <ul>
  7.     @foreach(var fruit in Model) {
  8.         <li>@fruit.FruitName</li>
  9.     }
  10. </ul>
Qui sopra un esempio del file Index.cshtml, che fornisce il layout partendo da una chiamata View, effettuata nel relativo Controller, con argomento un modello IList. Come si vede, l'obiettivo di pulizia e stringatezza è certamente raggiunto. Per maggiori informazioni è possibile dare un'occhiata alla pagina ufficiale.
Precedente: Apple collaborerà al progetto OpenJDK
Successiva: Una nuova tipologia di mouse 3D
Copyright Programmazione.it™ 1999-2014. Alcuni diritti riservati. Testata giornalistica iscritta col n. 569 presso il Tribunale di Milano in data 14/10/2002. Pagina generata in 0.204 secondi.