Dubbio su utilizzo di <%%> e <%#%> in asp.net

venerdì 16 agosto 2013 - 19.30
Tag Elenco Tags  VB.NET  |  .NET 4.0

86Marco Profilo | Expert

Salve ragazzi,
una domanda veloce e sicuramente moolto facile.

Da un po sviluppo in asp.net e devo dire che utilizzo (quasi automaticamente) i simboli <% %> e <%# %>.

Ho però ancora difficoltà a capire esattamente a che servono e che differenza passa tra le due tipologie (con e senza cancelletto).

Sapete aiutarmi e levarmi il dubbio una volta e per sempre?

Graziee :)

andrestu Profilo | Expert

Ciao Marco,
non ricordo da dove avevo preso queste info, probabilmente sul MSDN

The <%= expressions are evaluated at render time

The <%# expressions are evaluated at DataBind() time and are not evaluated at all if DataBind() is not called.

<%# expressions can be used as properties in server-side controls. <%= expressions cannot.

Andrea Restucci - Web Developer

86Marco Profilo | Expert

Ehm... grazie ma non ho capito molto :) sapresti spiegarlo un po meglio?

andrestu Profilo | Expert

allora con questo <%= ... %> puoi inserirlo all'interno della pagina aspx in qualsiasi punto e fare riferimento a qualsiasi membro pubblico che si trova nel file di codice quindi per esempio se vuoi fare il render diretto di qualche proprietà o qualche metodo che restituisce un valore.

<%= GetUserName() %>

se però il valore ti serve come proprietà di un controllo allora devi usare il cancelletto, stesso discorso se per esempio sei all'interno di un ItemTemplate (ListView)

<asp:Label ID="Label1" runat="server" Text="<%# GetUserName() %>"></asp:Label>

Se poi ci sono altre varianti sinceramente non te lo so dire, io utilizzo sempre queste 2 soluzioni

Andrea Restucci - Web Developer

86Marco Profilo | Expert

Ok. Ora è tutto piu chiaro grazieeee
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5