Le novità di ASP.NET 4.0
di Daniele Bochicchio, Cristian Civera, Riccardo Golia, Stefano Mostarda, in ASP.NET 4.0,
Archiviato in: .NET Framework 4.0, ASP.NET, ASP.NET 4.0, ASP.NET 4.0 Guida completa, SEO, Visual Basic, Visual Studio

Questo articolo è tratto dal libro ASP.NET 4.0 in C# e VB - Guida Completa per lo sviluppatore di Daniele Bochicchio, Cristian Civera, Riccardo Golia e Stefano Mostarda.
Acquista subito la tua copia ad un prezzo vantaggioso!
Sono ormai passati alcuni anni dal rilascio della prima versione del .NET Framework e di ASP.NET (2002) e in questo lasso di tempo entrambi sono stati oggetto di un'evoluzione che li ha portati a includere tecnologie sempre più innovative e a introdurre costanti miglioramenti alle numerose funzionalità già presenti fin dalla loro prima versione.
In questi anni, l'evoluzione è stata caratterizzata dal rilascio di diverse versioni del .NET Framework. La release 2.0, rilasciata nel novembre del 2005 insieme a Visual Studio 2005, ha senza dubbio rappresentato un evento importante e un vero punto di svolta, introducendo novità rilevanti e numerosi cambiamenti alle funzionalità già esistenti nelle versioni 1.0 e 1.1. In seguito, la release 3.0, uscita a cavallo tra il 2006 e il 2007, insieme a Windows Vista, e la versione 3.5, rilasciata ufficialmente nel corso del 2008 con Visual Studio 2008, hanno segnato un ulteriore passo in avanti, introducendo, a loro volta, nuove tecnologie finalizzate a migliorare la produttività degli sviluppatori nella realizzazione di applicazioni basate su servizi ad alto impatto estetico. Con questa versione 4.0 e il relativo Visual Studio 2010, è stato realizzato un ulteriore progresso per semplificare e potenziare, allo stesso tempo, lo sviluppo di applicazioni, non solo dedicate al web.
Introduzione a Visual Studio 2010
(Tratto dal capitolo 4)
Una componente importante che spinge all'utilizzo di ASP.NET è sicuramente l'IDE (Integrated Development Editor), che garantisce uno sfruttamento adeguato di delle caratteristiche dell'ambiente. In particolare, Visual Studio è probabilmente il miglior editor per lo sviluppo di applicazioni web in ambito Microsoft, perché ha saputo raccogliere il meglio delle interfacce di sviluppo RAD (Rapid Application Devlopment), offrendo un'esperienza di sviluppo visuale di tutto rispetto, che spesso è paragonabile a quella offerta nell'ambito dello sviluppo per Windows. È così completo di funzionalità che più che un editor risulta essere un vero e proprio ambiente di sviluppo.
Nel caso di ASP.NET, la parte dedicata alle applicazioni web è chiamata Visual Web Developer. È disponibile sia singolarmente, attraverso l'omonima versione Express, gratuita e scaricabile dal sito web http://www.asp.net/, sia all'interno delle differenti versioni di Visual Studio 2010, dalla Standard Edition fino alla nuova Premium Edition, quella più completa e ricca di funzionalità.
Figura 4.1 - Visual Studio 2010 all'apertura di un'applicazione web.

Rispetto alla versione precedente, Visual Studio 2010 ha integrato ulteriori migliorie per quanto riguarda la parte dedicata al web. Prima di tutto offre un rinnovato supporto per gli ultimi standard web, come XHTML e CSS, derivando parte delle proprie funzionalità da Expression Web. Infine l'Intellisense è stato esteso a tutte le componenti e migliorato, per offrire il meglio in tutte le situazioni, dal markup della pagina fino al web.config, passando per il codice client-side (Javascript).
[...]
Le proprietà della classe Page
(Tratto dal capitolo 5)
A partire dalla versione 4.0, alla proprietà Title, che in presenza di un server control <head> consente di specificare il titolo della pagina, sono state aggiunte in maniera programmatica le proprietà MetaDescription e MetaKeywords, per specificare, rispettivamente, una descrizione e un elenco di keyword. Queste proprietà vanno a popolare due meta tag, che sono molti comodi per le tecniche SEO (Search Engine Optimization). Un modello di utilizzo è contenuto nell'esempio 5.3.
Esempio 5.3 - VB
Sub Page_Load() Page.Title = "Titolo della pagina" Page.MetaKeywords = "comma, separated, keywords" Page.MetaDescription = "Meta descrition" End Sub
Esempio 5.3 - C#
void Page_Load() { Page.Title = "Titolo della pagina"; Page.MetaKeywords = "comma, separated, keywords"; Page.MetaDescription = "Meta descrition"; }
[...]
Forzare l'output in formato XHTML Strict
(Tratto dal capitolo 6)
Questa impostazione agisce ovviamente sulla maggior parte dei controlli, ma ve ne sono alcuni che è comunque meglio evitare, non in quanto producano codice XHTML non valido, ma perché fanno uso di tabelle e non consentono dunque layout table-less. Come abbiamo già spiegato, è comunque possibile cambiare alcuni adapter, per fare in modo che l'output generato sia differente da quello originale.
La modifica va fatta nel web.config, che sarà approfondito nel capitolo 24 ma, per ora, basta sapere che quest'ultimo è un file nel quale vanno definite le configurazioni. Nell'esempio 6.16, è contenuto il codice necessario a forzare il nuovo meccanismo di rendering di ASP.NET che, di default, è disabilitato.
[Esempio 6.16
<system.web> <pages controlRenderingCompatibilityVersion="4.0"/> </system.web>
[...]
Nota: per approfondimenti si veda questo script.
Controllare il ClientID
(Tratto dal capitolo 7)
Come già ricordato nei capitoli precedenti, a ciascun controllo è associato un ID univoco, che lo contraddistingue rispetto agli altri controlli contenuti all'interno della stessa pagina (o master page). Parallelamente, per rappresentare l'ID lato client degli elementi del markup generati in fase di rendering, ciascun controllo presenta anche la proprietà gemella ClientID. Come comportamento predefinito, il runtime di ASP.NET genera automaticamente questa proprietà, in funzione della gerarchia all'interno della quale il controllo è inserito. Anche se, a prima vista, può sembrare comodo, questo aspetto rappresenta un problema quando vogliamo definire uno stile per un determinato ID, associato a un elemento del markup generato dinamicamente dal runtime di ASP.NET.
Per fortuna ASP.NET 4.0 viene incontro a questa esigenza e permette di spegnere il meccanismo di generazione automatica, lasciando allo sviluppatore la libertà di definire in modo autonomo e certo gli ID lato client. Questo comportamento può essere impostato a livello di singolo controllo, di pagina (nella direttiva @Page o @Master) o addirittura all'interno del file di configurazione nell'elemento <pages /> (esempio 7.8).
Esempio 7.8
<configuration> <system.web> <pages clientIDMode="Static" /> </system.web> </configuration>
Tabella 7.1 - Modalità di generazione degli ID lato client.
| Valore | Descrizione |
|---|---|
| AutoID | Comportamento predefinito. L'ID lato client viene generato automaticamente in base alla gerarchia dei controlli, concatenando i diversi ID. Ad esempio: ctl00_MasterBody_ctl01_Label1. |
| Inherit | Il controllo corrente eredita il comportamento di generazione del controllo padre. |
| Static | L'ID lato client è identico al valore della proprietà ID del controllo. In questo caso, il valore dell'ID deve essere scelto affinchè sia garantita la sua univocità all'interno della pagina e non vi siano duplicati. |
| Predictable | Valido per i controlli data-bound. L'ID viene generato concatenando gli ID degli elementi contenuti all'interno del controllo container. |
Quando il valore per la proprietà ClientIDMode è Static, il valore di ClientID diventa identico all'ID del controllo, indipendentemente dalla gerachia dei controlli della pagina. In questo modo diventa possibile definire stili per gli ID in modo diretto, senza dover ricorrere a espedienti che prevedano la scrittura di codice.
In modo analogo a quanto detto per gli stili, la modalità statica di definizione degli ID lato client torna comoda anche nell'utilizzo di Javascript. Infatti, spegnendo la generazione automatica, diventa possibile far riferimento in modo diretto agli elementi del markup generati dal runtime di ASP.NET anche nei file esterni di scripting o nei blocchi di codice <script />.
Contenuti dell'articolo
- Pagina 1
- Pagina 2
- Pagina 3
- Pagina 4
- Pagina 5

Commenti (
piace a
non piace a
Facebook
Twitter




Leggi dopo
