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
Parallel Studio XE 2015
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-2015. Alcuni diritti riservati. Testata giornalistica iscritta col n. 569 presso il Tribunale di Milano in data 14/10/2002. Pagina generata in 0.191 secondi.