Je passe généralement un littéral d'objet en tant qu'argument à mes fonctions. Cette approche supprime la nécessité d'utiliser des variables globales et rend la déconnexion de ASP.NET contrôle/fonctions JavaScript un peu moins complexes et plus verbeux:
JavaScript:
function fn(ids)
{
var controlOne = ids.controlOne,
controlTwo = ids.controlTwo,
controlThree = ids.controlThree;
}
ASP.NET:
fn({
controlOne: "<%= ControlOne.ClientID %>",
controlTwo: "<%= ControlTwo.ClientID %>",
controlThree: "<%= ControlThree.ClientID %>"
});
Une autre approche serait de cibler votre en met des noms de classe:
ASP.NET:
<asp:TextBox ... CssClass="controlone" />
<asp:TextBox ... CssClass="controltwo" />
<asp:TextBox ... CssClass="controlthree" />
JavaScript:
function fn()
{
var controlOne = document.getElementsByClassName("controlone"),
controlTwo = document.getElementsByClassName("controltwo"),
controlThree = document.getElementsByClassName("controlthree");
}
Tout cela peut être grandement simplifiée en utilisant jQuery ou un autre Framework JavaScript.
Hmmm, je sais que c'est seulement une petite quantité de code mais cela pourrait être plus facile si j'utilise simplement des balises HTML normales qui ne sont pas rendues sur le serveur. –