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 primaversione del .NET Framework e di ASP.NET (2002) e in questo lasso di tempoentrambi sono stati oggetto di un'evoluzione che li ha portati a includeretecnologie sempre più innovative e a introdurre costanti miglioramenti allenumerose funzionalità già presenti fin dalla loro prima versione.

In questi anni, l'evoluzione è stata caratterizzata dalrilascio di diverse versioni del .NET Framework. La release 2.0, rilasciata nelnovembre del 2005 insieme a Visual Studio 2005, ha senza dubbio rappresentatoun evento importante e un vero punto di svolta, introducendo novità rilevanti enumerosi 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 aWindows Vista, e la versione 3.5, rilasciata ufficialmente nel corso del 2008con 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 adalto impatto estetico. Con questa versione 4.0 e il relativo Visual Studio2010, è 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 unosfruttamento adeguato di delle caratteristiche dell'ambiente. In particolare,Visual Studio è probabilmente il miglior editor per lo sviluppo di applicazioniweb in ambito Microsoft, perché ha saputo raccogliere il meglio delleinterfacce di sviluppo RAD (Rapid Application Devlopment), offrendoun'esperienza di sviluppo visuale di tutto rispetto, che spesso è paragonabilea quella offerta nell'ambito dello sviluppo per Windows. È così completo difunzionalità che più che un editor risulta essere un vero e proprio ambiente disviluppo.

Nel caso di ASP.NET, la parte dedicata alle applicazioni webè chiamata Visual Web Developer. È disponibile sia singolarmente, attraversol'omonima versione Express, gratuita e scaricabile dal sito webhttp://www.asp.net/, sia all'interno delle differenti versioni di Visual Studio2010, 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 haintegrato ulteriori migliorie per quanto riguarda la parte dedicata al web.Prima di tutto offre un rinnovato supporto per gli ultimi standard web, comeXHTML e CSS, derivando parte delle proprie funzionalità da Expression Web.Infine l'Intellisense è stato esteso a tutte le componenti e migliorato, peroffrire il meglio in tutte le situazioni, dal markup della pagina fino alweb.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 inpresenza di un server control <head> consente di specificare il titolo della pagina,sono state aggiunte in maniera programmatica le proprietà MetaDescription e MetaKeywords, perspecificare, rispettivamente, una descrizione e un elenco di keyword. Questeproprietà vanno a popolare due meta tag, che sono molti comodi per le tecnicheSEO (Search Engine Optimization). Un modello di utilizzo è contenutonell'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)

XHTML Strict, ma Transitional, in entrambi i casi considerando la versione 1.0. In realtà, se si evitano alcuni controlli, si può arrivare facilmente a XHTML 1.1, sfruttando la modalità 1.0 Strict.

Questa impostazione agisce ovviamentesulla maggior parte dei controlli, ma ve ne sono alcuni che è comunque meglioevitare, non in quanto producano codice XHTML non valido, ma perché fanno usodi tabelle e non consentono dunque layout table-less. Come abbiamo giàspiegato, è comunque possibile cambiare alcuni adapter, per fare in modo chel'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 chequest'ultimo è un file nel quale vanno definite le configurazioni. Nell'esempio6.16, è contenuto il codice necessario a forzare il nuovo meccanismo direndering 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 controllicontenuti all'interno della stessa pagina (o master page). Parallelamente, perrappresentare l'ID lato client degli elementi del markup generati in fase direndering, ciascun controllo presenta anche la proprietà gemella ClientID. Comecomportamento predefinito, il runtime di ASP.NET genera automaticamente questaproprietà, in funzione della gerarchia all'interno della quale il controllo èinserito. Anche se, a prima vista, può sembrare comodo, questo aspettorappresenta un problema quando vogliamo definire uno stile per un determinatoID, associato a un elemento del markup generato dinamicamente dal runtime diASP.NET.

Per fortuna ASP.NET 4.0 viene incontro a questa esigenza epermette di spegnere il meccanismo di generazione automatica, lasciando allosviluppatore la libertà di definire in modo autonomo e certo gli ID latoclient. Questo comportamento può essere impostato a livello di singolocontrollo, di pagina (nella direttiva @Page o @Master) o addirittura all'interno delfile di configurazione nell'elemento <pages /> (esempio 7.8).

Esempio 7.8
<configuration>
  <system.web>
    <pages clientIDMode="Static" />
  </system.web>
</configuration>
p>I controlli e le pagine includono la proprietà ClientIDMode, chepermette di definire le modalità di generazione degli ID lato client. I valoriammissibili per questa proprietà sono riportati nella tabella 7.1.

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 inmodo diretto, senza dover ricorrere a espedienti che prevedano la scrittura di codice.

In modo analogo a quanto detto pergli stili, la modalità statica di definizione degli ID lato client torna comodaanche nell'utilizzo di Javascript. Infatti, spegnendo la generazioneautomatica, diventa possibile far riferimento in modo diretto agli elementi delmarkup generati dal runtime di ASP.NET anche nei file esterni di scripting onei blocchi di codice <script />.

5 pagine in totale: 1 2 3 4 5
Contenuti dell'articolo

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti