Cosa c'è di nuovo in ASP.NET 2.0 beta 2

5 pagine in totale: <<Indietro 1 [2] 3 4 5 Avanti >>

Master Pages

Ne abbiamo già parlato nell'articolo dedicato alla preview alpha 1 , per cui vi invito ad approfondire la questione facendo riferimento a quanto già scritto.

Per i profani di ASP.NET 2.0, si tratta di un nuovo sistema che rende possibile la definizione di template, finalmente in maniera semplice e nativa, con la possibilità di specificare un template master da applicare alle pagine, che possono poi specializzare una delle aree designate con i controlli specifici.

Questo nuovo approccio consente di mantenere il look and feel di un sito invariato e consistente, in maniera semplice, rapida e veloce.

Fermo restando che la definizione della pagina master avviene attraverso le proprietà MasterPageFile, una delle novità più gustose è rappresentata da una nuova direttiva MasterType , che può essere inserita nella pagina (o nella MasterPage annidata che la contiene) per accedere al tipo rappresentato da quest'ultima.

Questo sistema ha senso quando la MasterPage implementa (e non è una rarità) proprietà, metodi o eventi personalizzati, che poi tutti gli oggetti che la sfruttano possono richiamare. Per poter accedere dunque al tipo è necessario specificare un riferimento, cosa che è possibile attraverso questa direttiva:

<%@ MasterType virtualPath="percorso" %>

Oppure

<%@ MasterType TypeName="classe" %>

In questo modo è possibile accedere ai membri della classe utilizzando, come riferimento, la classe Master esposta dalla pagina. Per poter accedere ad esempio ad una proprietà di nome LastModifiedDate specifica della nostra MasterPage, ci basterà scrivere:

Master.LastModifiedDate

Pieno supporto per XHTML

La beta 2 è la prima ad offrire un pieno supporto per XHTML. Nella beta 1, ad esempio, i validator controls erano ancora sviluppati alla vecchia maniera, aggiungendo nel markup codice non valido.

A partire dalla beta 2, oltre ad essere compatibili anche con browser in grado di usare il DOM di Javascript, come Internet Explorer 6 o Mozilla (e quindi FireFox), i Validator Controls impostano queste proprietà da codice Javascript, generando un markup perfettamente valido.

<input name="lbl" type="text" id="lbl" />
<span id="RequiredFieldValidator1" style="color:Red;visibility:hidden;">Campo richiesto</span>

<script type="text/javascript">
<!--
var Page_Validators = new Array(document.getElementById("RequiredFieldValidator1"));
// -->
</script>
 
<script type="text/javascript">
<!--
var RequiredFieldValidator1 = document.all ? document.all["RequiredFieldValidator1"] : document.getElementById("RequiredFieldValidator1");
RequiredFieldValidator1.controltovalidate = "lbl";
RequiredFieldValidator1.errormessage = "RequiredFieldValidator";
RequiredFieldValidator1.evaluationfunction = "RequiredFieldValidatorEvaluateIsValid";
RequiredFieldValidator1.initialvalue = "";
// -->
</script>

A differenza di ASP.NET 1.x, che necessita di molto lavoro per emettere codice XHTML 1.1 valido (e questo sito, ne è un esempio), ASP.NET 2.0 ne fa l'output di default per tutti i browser considerati uplevel. Il meccanismo sfruttato è sempre lo stesso, noto già con la 1.x, dell' adaptive rendering , finalmente però adattato in modo che browser decisamente in grado di supportare caratteristiche avanzate, come Opera o Firefox, siano in grado di ricevere lo stesso output valido, utile quando si devono creare applicazioni accessibili, ma più semplicemente moderne .

Per questo motivo, rispetto all'attuale versione, ASP.NET 2.0 supporta meglio anche i fogli di stile CSS , includendo in VS 2005 un ottimo editor.

Per quanto riguarda la fase di migrazione, il vero problema in questo caso è che ASP.NET 2.0 utilizza di default XHTML, a differenza di ASP.NET 1.x, e quindi è necessario riadattare tutto il proprio codice in modo che sia compatibile con questo tipo di markup.

E' questo il vero e proprio scoglio nella migrazione, perché il tipico sviluppatore ASP.NET, anche grazie al discutibile editor HTML di VS.NET 2002 e 2003, non è abituato a scrivere codice (X)HTML valido, rispettoso dei web standard, semplicemente perché VS 2003 ed ASP.NET 1.1 non aiutano in questo.

Fortunatamente dalla 2.0 anche ASP.NET entra a far parte, di diritto, di quella schiera di strumenti che permettono di sviluppare applicazioni sfruttando le ultime e moderne tecnologie.

A questo proposito è degno di nota il validatore integrato in VS 2005, che oltre a controllare il markup è in grado di creare una error list prendendo spunto dalle specifiche WAI o Section-501 , che sono rivolte essenzialmente alla creazione di siti web accessibili anche a persone con disabilità.

Una funzionalità a metà: control adapter architecture

Una delle premesse migliori, sin dall'alpha 1, è stata l'introduzione di una nuova architettura di base per i control, sfruttando quanto già fatto con l'adaptive rendering ma estendendo ancora di più il concetto, con l'introduzione della control adapter architecture.

In breve, si tratta della possibilità, di un controllo, di generare codice in diversi markup, usando, appunto, degli adapter per la fase di creazione del codice.

Nelle prime build era possibile inserire sulla pagina un qualsiasi control, ad esempio una label, per aver, in base al browser, output differenti, dall'XHTML al WML , proprio del WAP, passando per il cHTML , usato dai terminali i-Mode.

Purtroppo, per ragioni di tempo, questa funzionalità è stata mantenuta a metà a partire dalla beta 2. L'architettura di base è sempre e comunque disponibile, ma per creare applicazioni web destinati a dispositivi mobile è necessario continuare ad utilizzare i vecchi mobile controls .

Il fatto che l'architettura sia rimasta comunque nella code base fa sì che sia possibile per uno sviluppatore, costruire un control adapter che sia in grado, ad esempio, di mostrare un output differente per il control GridView quando questo viene visualizzato da un dispositivo che supporta cHTML.

Questa inclusione, seppure parziale, apre comunque la parte sia a sviluppatori di terzi parti, sia ad eventuale feature pack futuro prodotto da Microsoft stessa.

5 pagine in totale: <<Indietro 1 [2] 3 4 5 Avanti >>

Contenuti dell'articolo

Commenti
Dai un voto a questo articolo, ci aiuterà a migliorare il nostro sito (1 è il voto minimo, 5 il massimo).

Per procedere al rating dell'articolo devi essere autenticato.

Aggiungi un nuovo commento »»»
Per inserire un commento, devi registrarti alla nostra community.


TUTORIALS
TOP TEN ARTICOLI
NOTIFICHE

Iscriviti alla nostra newsletter nuoviarticoli per ricevere e-mail le notifiche!

Indirizzo e-mail:
PROVIDER ASP.NET 2.0

Seleziona il database per avere il web.config pronto per Membership, Roles e Profile API.



IN EVIDENZA
MISC