0

我在更新面板内有一个带有列表框的控件,该控件连接到一个计时器,该计时器正在主窗体上使用脚本管理器进行自动回发。

为了在整个回发过程中保持选中项目,我使用下面的 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>  
4

2 回答 2

0

您可以尝试在后面的代码中添加属性,这将返回您需要的值。然后,在客户端,只需绑定到此属性。

于 2013-03-22T07:15:18.943 回答
0

最终不使用 Microsoft Ajax 而是从 jquery 调用 webmethods!

于 2013-03-25T00:11:26.897 回答