ASP.NET UpdatePanel和JQuery UI Accordian

时间:2013-06-15 06:37:45

标签: asp.net jquery-ui jquery updatepanel

我遇到了问题。我有这段代码:

    <div id="accordion">
        <h3>Categories</h3>
        <div style="text-align: center; margin: 0 auto;"><p><asp:Button runat="server" ID="btnAddCategory" CssClass="button" Text="Add New Category" OnClientClick="OpenAddNewCategoryDialog(); return false;" /></p>
            <asp:UpdatePanel runat="server" ID="pnlUpdateCategories">
                <ContentTemplate>
                    <asp:Table runat="server" ID="tblCategories"></asp:Table>
                </ContentTemplate>
            </asp:UpdatePanel>
        </div>
        <h3>Access Levels</h3>
        <div>
            <p>This is section 2 content</p>
        </div>
    </div>

我正在动态创建ContentTemplate中的表。一切都很好,除了一个恼人的问题。在updatepanel更新后,当表中添加了一行时,jquery ui手风琴会获得一个滚动条。如果我按F5刷新页面,则滚动条不在那里,手风琴随着内容的增长而增长,如预期的那样。

似乎只要有ajax调用和updatepanel更新,就会出现滚动条而不是扩展手风琴的高度。有谁知道解决这个问题?

1 个答案:

答案 0 :(得分:1)

试试这个

在异步回发事件之后,它会调用你的javascript函数,这样你就可以调用accordion函数并更新html。试试吧

<script type="text/javascript">
    $(document).ready(function(e) {
        $('.test').accordion();
    }); 



var prm = Sys.WebForms.PageRequestManager.getInstance();
    prm.add_endRequest(EndRequest);
    function EndRequest(sender, args) {
        // call your accordion javascript function here for i.e. $('.test').accordion();
    }
</script>