di: Francesco Camarlinghi 01 Ottobre 2008
Il nuovo framework Asp.Net MVC (attualmente alla Preview Release 5), è stato progettato per offrire un alto grado di estensibilità: ogni suo componente può essere modificato o interamente sostituito. In molti casi, come per il motore di rendering delle viste, è addirittura possibile far convivere un sistema personalizzato assieme a quello di default, caretteristica che rende possibile utilizzare funzionalità personalizzate senza rinunciare a quelle offerte dal framework.
In questo articolo realizzeremo un catalogo dei prodotti, uno fra gli esempi più classici per MVC, utilizzando un view engine alternativo, Spark.
<ul>
<li each='var p in ViewData.Model.Products'>
${Html.ActionLink[[ProductController]](c => c.Detail(p.ProductID), p.ProductName)}
</li>
</ul>
Questo codice visualizzerà una lista di prodotti (contenuti nella collection Products dell'oggetto ViewData) tramite una lista non ordinata <ul>. Il codice C# è perfettamente integrato nel markup HTML attraverso la direttiva each del tag <li>.
Spark offre inoltre la possibilità di sostituire i pesanti tag <%= %> con una alternativa molto più leggibile: ${}. Il codice racchiuso nelle parentesi graffe è infatti ancora C# e visualizzerà un link attraverso l'extension method ActionLink dell'oggetto Html. L'uso delle parentesi quadre ([[ e ]]) per i generics si rende necessario per evitare problemi con il markup HTML.
Per finire è possibile utilizzare anche la sintassi LINQ all'interno delle nostre pagine.
Le viste Spark sono compilate al primo accesso come avviene per le pagine Aspx, procedura che aumenta notevolmente i tempi di risposta rispetto a soluzione interpretate come NVelocity.
Fra le altre caratteristiche di Spark sono inoltre da sottolinare il supporto alle master pages, alle viste parziali e alle macro. Queste ultime in particolare sono molti utili per creare frammenti di codice riutilizzabile:
<macro name="ShowMessage" message="string">
<div>
${message}
</div>
</macro>
Questa macro visualizza a video un messaggio di testo e può essere richiamata con la sintassi:
${ShowMessage("Ciao, Spark!")}
Guida Windows Azure Code SnippetsLe migliori pratiche per far girare le applicazioni "in the cloud",... |
Guida ASP.NET MVC Best PracticesUn workflow dettagliato e ricco di suggerimenti pratici per... |
Guida ASP.NET Starter KitUn modo semplice per imparare ad utilizzare le tecnologie Microsoft... |
Ogni giovedì, direttamente nella tua e-mail: articoli, guide, tutorial e script ASP, ASP.Net, SQL server e IIS.
Iscriviti alla newsletter
|
|
Amministratore di Reti Windows Server 200820 Febbraio 2012 a Milano |
|
Nessun corso previsto |