4 pagine in totale: <<Indietro 1 2 3 [4]
Figura 18.6 - La struttura dei file di risorse globali
Anche le risorse globali possono essere collegate con i controlli in modalità dichiarativa nell'HTML. Tuttavia, per le risorse globali il meccanismo di binding con i controlli è molto diverso sia da un punto di vista architetturale che sintattico.
Mentre con le risorse locali si esegue il binding di un intero controllo, con le risorse globali si lega solo una singola proprietà ad una chiave del file. Inoltre, non si utilizzano meta-attributi di compilazione, ma una sintassi, detta espressione esplicita, che fa uso degli ExpressionBuilder (vedi capitolo 12).
<asp:button id="btn" runat="server" text="<%$Resources: PrimaryRes, Chiave %>" /> L'esempio 18.4 mostra la sintassi che collega la proprietà Text di un bottone alla parola "Chiave" contenuta nel file PrimaryRes. Si noti l'uso dell'ExpressionBuilder identificabile tramite la stringa "<%$" seguita dal tipo utilizzato (Resources per le risorse) e dai nomi del file globale e della chiave separati dalla virgola.
È possibile accedere alle risorse globali anche in modo programmatico, ma, a differenza di quelle locali, esse offrono un accesso sia generico che tipizzato.
Nel machine.config è registrato il BuildProvider ResXBuildProvider che genera tante classi quanti sono i file di fallback nella cartella /App_GlobalResources/ ed ognuna di queste classi contiene tante proprietà quante sono le chiavi contenute nel file. Il tutto viene racchiuso nel namespace Resources per offrire una maggior organizzazione. Prendendo in esame l'esempio precedente, si può ottenere lo stesso risultato da codice come mostrato nell'esempio 18.5.
btn.Text = Resources.SecondaryRes.Chiave
btn.Text = Resources.SecondaryRes.Chiave;
Per offrire un modello di programmazione completo, è stata aggiunta anche l'API GetGlobalResourceObject sia per la classe TemplateControl che per la classe HttpContext il cui beneficio è stato descritto già nel paragrafo precedente.
btn.Text = GetGlobalResourceObject("SecondaryRes", "Chiave")
btn.Text = HttpContext.GetGlobalResourceObject("SecondaryRes", "Chiave")
btn.Text = GetGlobalResourceObject("SecondaryRes", "Chiave");
btn.Text = HttpContext.GetGlobalResourceObject("SecondaryRes", "Chiave");
Figura 18.7 - Editor delle proprietà che visualizza le proprietà localizzate
Nell'esempio 18.6 il metodo accetta in input il nome del file come primo parametro e, come secondo, la chiave.
Visual Studio 2005 non offre alcun meccanismo per creare e valorizzare i file di risorse globali, ma mette a disposizione lo stesso Editor di risorse. Per quanto riguarda l'Editor di proprietà, gli elementi collegati ad una risorsa globale vengono marcati con un'icona di colore blu accanto al nome e mostrano un altro tooltip, come visibile nella figura 18.7.
L'Editor di proprietà permette di collegare in maniera visuale una chiave globale con una proprietà di un controllo attraverso l'apposita sezione Expressions.
Figura 18.8 - L'editor per collegare una proprietà ad una chiave globale
Un controllo può essere localizzato tramite risorse locali e globali contemporaneamente, tuttavia bisogna tenere in mente che quando si utilizza la generazione automatica dei file di risorse, le proprietà che sono già collegate ad una chiave globale sono automaticamente ignorate e non vengono inserite nel file locale.
L'articolo continua nella seconda parte in linea tra due settimane.
4 pagine in totale: <<Indietro 1 2 3 [4]
Attenzione: Questo articolo contiene un allegato
Contenuti dell'articolo
- Pagina 1
- Pagina 2
- Pagina 3
- Galleria fotografica dinamica con ASP.NET AJAX
- Usare Search come un servizio nei tuoi siti e nei tuoi client
- Mappe nel tuo sito con Virtual Earth
- Integrare Windows Live ID, Contacts e Presence API nelle tue applicazioni
- Introduzione ai cloud based service con Windows Live Services
- Realizzare un custom extender AJAX con ASP.NET 3.5
- Tracciare le modifiche ai dati e allineare i datawarehouse con il Change Data Capture in SQL Server 2008
- Le nuove caratteristiche di IIS 7.0 per sviluppatori e sistemisti
Aggiungi un nuovo commento »»»
Per inserire un commento, devi registrarti alla nostra community.






Difficoltà
Utilità
Contenuti
Stampa
Download


10annidi.ASPItalia.com: iscriviti alla competizione e vinci fantastici premi ogni mese!

Ottimo preciso e dettagliato come ti avevo già detto un pò di tempo fa. Allora ti chiesi:e se volessi inserire comunque il classico pulsantino o ...
Continua »»» | Rispondi »»»