3 pagine in totale: <<Indietro 1 [2] 3 Avanti >>
Espressioni nel markup: ExpressionBuilder
Durante la procedura di parsing delle pagine .aspx e .ascx, il motore è in grado di processare una sintassi speciale, delimitata da <%$ %>, utilizzabile solamente per l'assegnazione di valori a proprietà dei controlli presenti. In questo particolare markup è possibile inserire un'espressione, nella forma prefisso:valore, e il suo contenuto è processato per la produzione di codice come espressione da assegnare alla proprietà.
L'esempio seguente utilizza tale sintassi, con il prefisso AppSettings, per recuperare il valore della chiave "prova" presente nel file web.config:
<asp:Literal runat="server" Text="<%$ AppSettings:prova %>" />
L'azione congiunta di BuildProvider e ExpressionBuilder porta alla creazione automatica del seguente codice di istanza del controllo:
Dim __ctrl As New Literal()
__ctrl.Text = Convert.ToString( _
AppSettingsExpressionBuilder.GetAppSetting( _
"prova", GetType(Literal), "Text"));
Literal @__ctrl = new Literal();
@__ctrl.Text = Convert.ToString(
AppSettingsExpressionBuilder.GetAppSetting(
"prova", typeof(Literal), "Text"));
Ogni prefisso identifica la classe incaricata a generare l'espressione che fa da parametro a Convert.ToString e questa selezione viene effettuata in base alla mappa expressionPrefix/type contenuta sempre nel file web.config.
<configuration>
<system.web>
<compilation>
<expressionBuilders>
<add expressionPrefix="AppSettings" type="System.Web.Compilation.AppSettingsExpressionBuilder" />
</expressionBuilders>
</compilation>
</system.web>
</configuration>
Nello spirito di ASP.NET 2.0 è possibile, anche in questo caso, generare un'espressione in funzione di un prefisso personalizzato, creando una classe che erediti da ExpressionBuilder. Il metodo principale da sovrascrivere è GetCodeExpression nel quale si deve fare uso di CodeDOM per restituire la rappresentazione del codice da generare.
Il vantaggio che si trae dall'uso di questa tecnica è soprattutto nella velocità di esecuzione, poiché rientra nel processo di compilazione, ed inoltre permette di inserire semplici espressioni senza dover ricorrere all'uso del code behind.
Oltre al prefisso AppSettings in ASP.NET 2.0 sono presenti:
- ConnectionStrings: per recuperare stringhe di connessione dalla sezione
/configuration/connectionStrings; - Resources: per recuperare dalle risorse contenuti per la localizzazione.
3 pagine in totale: <<Indietro 1 [2] 3 Avanti >>
Attenzione: Questo articolo contiene un allegato
Contenuti dell'articolo
- 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à
Stampa
Download


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