【问题标题】:ASP.NET UpdatePanel's and JQuery UI Accordian'sASP.NET UpdatePanel 和 JQuery UI Accordian
【发布时间】:2013-06-11 20:05:15
【问题描述】:

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

    <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 中的表是动态创建的。除了一个烦人的问题外,一切正常。当我的更新面板更新后有一行添加到表中时,jquery ui 手风琴会获得一个滚动条。如果我按 F5 刷新页面,滚动条不存在并且手风琴随内容增长,正如预期的那样。

似乎每当有 ajax 调用和更新面板更新时,滚动条就会出现,而不是展开手风琴的高度。有谁知道这个问题的解决方案吗?

【问题讨论】:

  • stackoverflow.com/questions/910645/… ajax 返回后,销毁并重新创建手风琴。
  • @pkExec - 结果相同。虽然看起来如果我摧毁它,那会修复它。但是这个建议没有运气
  • 你可以添加屏幕截图吗?

标签: asp.net jquery-ui jquery updatepanel


【解决方案1】:

试试这个

在异步回发事件之后,它会调用您的 javascript 函数,因此您可以调用手风琴函数并更新 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>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-01-10
    • 1970-01-01
    • 2016-12-29
    • 2022-08-17
    • 1970-01-01
    • 1970-01-01
    • 2011-05-11
    • 2011-01-31
    相关资源
    最近更新 更多