對於簡單的案例(瑣碎的頁面,容器鏈到rcbModels
從不改變,代碼質量不擔心),硬編碼rcbModels.ClientId
到腳本塊節省時間,並完成工作。
function pageLoad()
{
models = $find("panelX_containerY_rcbModels");
}
在其他情況下,生成一個頁面範圍的客戶端控件ID映射到客戶端ID的字典。
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);
}
然後,您可以在客戶端通過名稱訪問行爲ID。
function pageLoad()
{
models = $find(__BehaviorIds.rcbModels);
anotherControl = $find(__BehaviorIds.anotherControl);
yetAnotherControl = $find(__BehaviorIds.yetAnotherControl);
}
我不明白你的建議。該功能位於Script標籤內的更新面板之外。 – 2010-10-05 20:03:23