我在更新面板内有一个带有列表框的控件,该控件连接到一个计时器,该计时器正在主窗体上使用脚本管理器进行自动回发。
为了在整个回发过程中保持选中项目,我使用下面的 javascript。我已经对此进行了非常彻底的研究,并且不相信还有另一种方法可以在回发之间保持选定项的选择。然而,这个解决方案似乎运作良好。
我的问题是,当我向主窗体添加第二个控件时,它不起作用。
我已经尝试将 javascript 移动到主窗体中,但是我无法使用以下方法从主窗体访问子控件:
document.getElementById('<%=PositionsControl.FindControl("ListBox_Candidates").ClientID %>').selectedIndex
我还尝试将 BeginRequestHandler 和 EndRequestHandler 重命名为唯一名称(以避免当此脚本同时受控时发生冲突),但它不起作用。
任何帮助是极大的赞赏。
<script type="text/javascript">
var index
var prm = Sys.WebForms.PageRequestManager.getInstance();
prm.add_beginRequest(BeginRequestHandler);
prm.add_endRequest(EndRequestHandler);
function BeginRequestHandler(sender, args) {
index = document.getElementById('<%=ListBox_Candidates.ClientID %>').selectedIndex;
}
function EndRequestHandler(sender, args) {
$get('<%=ListBox_Candidates.ClientID %>').selectedIndex = index;
}
</script>