一个ASP.net更新面板中的多个表上的Javascript函数

时间:2014-12-11 18:14:11

标签: javascript asp.net gridview updatepanel pageload

我遇到了一个问题,即我在更新面板中有多个表。当我点击ASP.net按钮时,我从代码中绑定ASP.net gridview项。这会导致回发触发我的javascript pageLoad函数。

在pageLoad块中,我有以下函数获取表的长度,如果长度为2(一行),则显示详细视图,或者当长度大于2时显示表。这很有效。< / p>

    $(function () {
        var len = $("#<%=gvClave.ClientID%> tr").length;
        if (len > 2) {
            document.getElementById('frameClaveTable').style.display = 'block';
            $('#<%=gvClave.ClientID%>').gridviewScroll({
                width: $('#frameClaveTable').width(),
                height: 200
            });
            $('#sliderClaveTable').animate({ width: $('#frameClaveTable').width() + 50 });
        } else if (len == 2) {
            showClaveDetails($("#<%=gvClave.ClientID%> tr"));
        }
    });

我在同一个更新面板中有第三个表,当我在SQL数据库中搜索一个值时,我绑定了该表。在回发期间,当我绑定第三个表时,我希望其他表重置并从视图中消失。但是在postback pageLoad事件中,仍然可以找到旧表并再次显示。我无法理解如何防止这种情况发生。我试图在刷新表之前强制回发。我试图将表格放在单独的更新面板中,但无济于事。

欢迎任何关于这个问题的想法。

感谢。

1 个答案:

答案 0 :(得分:0)

我能够解决这个问题。我错误地认为回发将清除更新面板中发生回发的所有网格视图。我现在将第二个表的数据源设置为空,并在绑定第一个表之前将代码绑定在代码隐藏函数中。