Crad's .NET Blog

L'UGIblog di Marco De Sanctis
posts - 190, comments - 457, trackbacks - 70

[ASP.NET AJAX] $get e $addHandler

La cosa che più mi piace di ASP.NET AJAX non è il fin troppo abusato UpdatePanel (che pure i suoi bei meriti li ha tutti), bensì sbavo letteralmente per Microsoft AJAX Library, vale a dire quel popò di codice client che viene iniettato nelle pagine per

  1. estendere Javascript con concetti tipo namespace, reflection, interfacce, and so on...
  2. fornire un'infrastruttura per rendere quanto più possibile cross-browser il codice prodotto.

Esempio banale è la funzione $get, che ci permette di recuperare un'istanza di un elemento del DOM dato il suo id:

1 var myElement = $get('myElementId');

che non è nulla di trascendentale fintanto che la si usa per sostituire

1 var myElement = document.getElementById('myElementId');

ma che ad esempio diviene particolarmente comoda quando se ne usa l'overload

1 var myElement = $get('myElementId', 'parentElementId');

che ci permette di recuperare un element ispezionando solo un particolare ramo del DOM.

Altra chicca, per quanto mi riguarda, è il metodo $addHandler; il nome dice già tutto sulla funzionalità che implementa, ossia aggiungere un gestore ad un evento di un element, ma l'enorme vantaggio sta nel rendere cross-browser la signature e la logica dei gestori stessi:

1 $addHandler(myInput, "keypress", _myInputKeyPressHandler); 2 3 function _myInputKeyPressHandler(args) 4 { 5 // .... 6 }

Quel parametro args è di tipo Sys.UI.DomEvent ed interrogandone il field "charCode", ad esempio, si potrà risalire al tasto premuto dall'utente, a prescindere dal fatto che questi stia utilizzando , IE, Firefox, Opera, ecc.ecc.ecc.

Technorati tags:

Print | posted on Monday, November 26, 2007 2:37 PM | Filed Under [ ASP.NET AJAX ]

Powered by:
Powered By Subtext Powered By ASP.NET