Для простых случаев (тривиальная страница, цепочка контейнеров до rcbModels
никогда не меняется, качество кода не имеет значения), жесткое кодирование rcbModels.ClientId
в блоке сценария экономит время и выполняет работу.
function pageLoad()
{
models = $find("panelX_containerY_rcbModels");
}
В других случаях генерируйте обще-страничный словарь клиентских идентификаторов элементов управления, сопоставляемых с идентификаторами клиентов.
protected void Page_PreRender(object sender, EventArgs e)
{
ScriptManager.RegisterClientScriptBlock(this, typeof(YourPageClass),
"__BehaviorIds", String.Format(CultureInfo.InvariantCulture, @"
var __BehaviorIds = {{
rcbModels: '{0}',
anotherControl: '{1}',
yetAnotherControl: '{2}'
}};",
rcbModels.ClientID,
anotherControl.ClientID,
yetAnotherControl.ClientID), true);
}
Затем вы можете получить доступ к идентификаторам поведения по имени на стороне клиента.
function pageLoad()
{
models = $find(__BehaviorIds.rcbModels);
anotherControl = $find(__BehaviorIds.anotherControl);
yetAnotherControl = $find(__BehaviorIds.yetAnotherControl);
}