Ivan Gentile

Office and .NET blog
posts - 24, comments - 0, trackbacks - 2

giovedì 16 marzo 2006

Id associato agli ASP Control client-side in ASP.Net 2.0

Quando lavoriamo con ASP.Net 2.0 e le Master Pages accade un qualcosa di particolare.

ASP.Net rinomina automaticamente tutti gli ASP Controls inseriti all'interno della Master Page per evitare problemi di replicazione dei nomi.

Vi garantisco che è impossibile assegnare ad un ASP Control un ID, dal momento che in automatico ASP genererà un nuovo ID, addirittura aggiungendolo al preesistente.

Ovviamente esiste un metodo per risolvere questo problema!!!

Possiamo utilizzare il metodo MioControllo.ClientID che restituisce l'ID che ASP ha assegnato al nostro controllo client side.

Facciamo un esempio!

Supponiamo di aver inserito in una nostra pagina web un controllo asp:TextBox  con ID='Testo'. Avremo cioè:

<asp:TextBox ID='Testo' runat="server" />

e di voler generare una funzioncina in javascript che ci permetta di modificare il testo contenuto nella casella. Cioè:

<script language=javascript type="text/javascript">

                // Associamo a DocOut l'ID associato al nostro

                // controllo dal client

                var DocOut="<%=Testo.ClientID%>";

                function SettaTesto()

                {

                                var doc=document.getElementById(DocOut);

                                doc.value='CIAOOOOO!!!!';

                }

</script>

Ovviamente dobbiamo richiamare questa funzione collegandola ad esempio alla pressione di un tasto, come:

<input type="button" language="javascript" onclick="SettaImmagine()" />

Il gioco è fatto!!!

Ciao

Ivan

posted @ 11.54 | Feedback (0)