2009-06-05 27 views
186

Ho programmato sia in ASP classico che ASP.NET e vedo tag diversi all'interno del markup per il codice lato server.

Ho recentemente venire attraverso un good blog on MSDN che va oltre la differenza tra:

  • <%= (percentuale con segno di uguale) e
  • <%# (segno di percentuale e di hash/pound/cancelletto)

(<%# viene valutata solo in DataBind, e <%= viene valutata in fase di rendering), ma vedo anche:

  • <%$ (cento e dollaro segno) e
  • <%@ (segno di percentuale e al simbolo).

Credo che <%@ carichi cose come assiemi e forse <%$ carichi cose da file di configurazione? Non ne sono troppo sicuro

Mi stavo chiedendo se qualcuno potrebbe chiarire tutto questo per me e forse spiegare perché è importante creare tanti tag diversi che apparentemente hanno uno scopo simile?

+62

Sono contento che tu chiedi, perché è molto difficile da google;) –

+8

Impossibile da Google! – jdbosley

+0

'<% #' è spesso usato con 'eval', ma non deve: puoi usarlo per eseguire qualsiasi codice lato server, purché tu esegua' Page.DataBind() 'nella pagina contenente o pagina principale.Sembra che questa sia la tua unica opzione nel caso tu voglia "iniettare" il codice lato server negli attributi dei controlli lato server come ''. –

risposta

263
+0

Immagino sia perché è una risposta accettata, ma provare a modificare/w il collegamento non ha funzionato. ecco il link che ho provato a mettere in circa la valutazione delle espressioni "<% $": http://msdn.microsoft.com/en-us/library/d5bd1tad.aspx –

+0

Impressionante! So che questo è vecchio, ma ho cercato su internet tutte queste informazioni negli ultimi 2 giorni. Grazie! – jdbosley

+5

C'è un nome per tutti questi? Come vengono chiamati questi gruppi? – Vippy

4

Hai coperto 2 di loro (<% # viene valutato solo a DataBind e <% = viene valutata in fase di rendering), e la risposta per "<%@" è che si tratta di direttive del compilatore (ad es., Roba come quello che avresti messo sulla riga di comando di un compilatore).

Non so "<%$".

Problemi correlati