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
Una panoramica sull'uso di ASP.NET MVC Razor (2/2)
Scritto da Alessandro Piccarolo il 02-02-2011 ore 12:04
Intel Parallel Studio XE 2015
Al fine di facilitare l’adozione di questo nuovo view engine, molti dei concetti chiave di ASPX sono stati trasferiti in Razor. Tra questi concetti troviamo, ad esempio, le Layout page, che rappresentano l’equivalente delle master pages. Il template del layout di default utilizzato al momento della creazione di una nuova applicazione MVC3 è definito in /Views/Shared/_Layout.cshtml, ma è sempre possibile creare delle pagine di layout addizionali e referenziarle all’interno della propria applicazione, mediante aggiunta delle seguenti istruzioni nelle viste apposite:
  1. @{
  2.   Page.Title = "Titolo della pagina";
  3.   Layout = "~/Views/Shared/MyCustomLayout.cshtml";
  4. }
All’interno della pagina di layout, in particolare, l’istruzione @RenderBody() permette di definire il punto in cui la pagina che utilizza questo specifico layout deve eseguire il rendering del proprio contenuto. L’istruzione @RenderSection(), infine, consente di definire all’interno della pagina di layout delle sezioni utente, eventualmente rese obbligatorie mediante utilizzo dell’attributo required:
  1. @RenderSection("RazorIntroSection", required:true)
Per referenziare all’interno di una vista Razor i riferimenti URL e i file di contenuto, si possono utilizzare, rispettivamente, le funzioni @Url.Content e @Url.Action, che ricevono come parametro il percorso del file desiderato, preceduto dal carattere tilde (~) per identificare la radice virtuale del proprio sito:
  1. <a href="@Url.Content("~/Content/Images/Vacanze.png")">Album delle vacanze!</a>
Infine, all’inizio di una pagina Razor è possibile definire il tipo @model, il che consente alla tecnologia IntelliSense di lavorare correttamente in tutta la pagina (facilitando in tal modo il lavoro dello sviluppatore) e di attivare un’accurata validazione di tutta la vista a compile-time. Per passare un model così definito dal controller alla vista, è sufficiente restituire il model stesso come parametro della funzione View:
  1. List<string> MyList = new List<string>(); // Model
  2. MyList.Add("Hello");
  3. MyList.Add("How");
  4. MyList.Add("Are");
  5. MyList.Add("You?");
  6. return View(MyList);
Si noti come si possa passare dal controller alla vista un qualunque tipo di oggetto, compresi quelli non serializzabili. Gli esempi riportati in questo articolo hanno lo scopo di rappresentare un’introduzione all’utilizzo di Razor e alle sue potenzialità per la definizione di viste nell’ambiente .NET. Per ulteriori approfondimenti in merito a questo argomento si può fare riferimento a un articolo pubblicato su CodeGuru.
Precedente: Usare Kinect sul proprio computer: configurare NITE e OpenNI
Successiva: Le novità di Android 3.0 Honeycomb
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.214 secondi.