Я обычно передаю литерал объекта в качестве аргумента своим функциям. Этот подход устраняет необходимость использования глобальных переменных и делает процесс отключения от элементов управления ASP.NET / функций JavaScript менее сложным и более подробным:
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 %>"
});
Другой подход заключается в нацеливании ваших входных данных по именам классов:
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");
}
Все это можно значительно упростить с помощью jQuery или другого JavaScript-фреймворка.