我遇到了一个问题,即我在更新面板中有多个表。当我点击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事件中,仍然可以找到旧表并再次显示。我无法理解如何防止这种情况发生。我试图在刷新表之前强制回发。我试图将表格放在单独的更新面板中,但无济于事。
欢迎任何关于这个问题的想法。
感谢。
答案 0 :(得分:0)
我能够解决这个问题。我错误地认为回发将清除更新面板中发生回发的所有网格视图。我现在将第二个表的数据源设置为空,并在绑定第一个表之前将代码绑定在代码隐藏函数中。