Complice finalmente un progettino WEB che mi ha fatto dimenticare per un paio di settimane l'amatissimo   mapper di Biztalk e una stima dei tempi per realizzarlo decisamente larga, ho cominciato a fare qualche esperimento con jQuery   + ASP.NET..

Che dire.. la potenza di Jquery è veramente impressionante, Il numero di righe javascript si riduce, e la sintassi, per quanto all'inizio un pò ostica da scrivere, poi rende il codice molto più leggibile.

La web application che sto sviluppando ha il seguente vincolo funzionale: Ci sono n campi di ricerca/filtro obbligatori
che però potrebbero esser lasciati vuoti in funzione di un altro campo.
Per intenderci, avendo una situazione simile:



Se il campo "Nr. Sessione" viene valorizzato gli altri campi obbligatori come data e ora d'esecuzione possono anche
essere lasciati vuoti.

Avendo  molti campi da disattivare tutti con i rispettivi validator control, il codice javascipt da scrivere
non sarebbe stato poco e quindi la mia soluzione è stata questa:

"Decorare" ogni campo che deve essere disabiliato e i corrispettivi Validators con degli attributi alternative="true"
per i campi di testo e alternativeVal="true" per i validatori:


Aggiungere la seguente funzione per intercettare il cambiamento del campo che guida il comportamento degli altri:



e aggiungere un'altra funzione che si occupi di disabilitare i controlli e i validatori in funzione del contenuto del campo guida:



La funzione ValidatorEnable fa parte della libreria javascipt di a ASP.NET, i suoi due argomenti sono lo <span> renderizzato sull'html da ASP.NET per ogni validator e un booleno che indica se accendere o spegnere la validazione.

Tutto questo funziona alla grande e senza troppo codice da scrivere. L'unica cosa che non mi piace molto è stato l'introdurre degli attributi fasulli ai controlli ASP.NET per ottenere una semplice selezione con jQuery di tutti gli elementi. Qualcuno ha idee alternative (e sicuramente migliori ) su come farlo?