我有一个网格,其中包含一个带有Autopostback = yes的复选框控件,而CheckChanged调用vb.net代码中的例程,该例程使用复选框值更新记录。单击复选框时,需要一两秒钟才能运行代码并将控制权返回给网页。我有一些用户一个接一个地点击几个复选框,所以程序没有被正确调用,他们正在获得更新记录的大杂烩。现在我的解决方案是让他们等到页面刷新然后再点击下一页。漂亮的lamo。有没有人有任何建议可以解决这个问题?
谢谢!
答案 0 :(得分:0)
您可以编写一个小jQuery函数,以便在检查后立即暂时隐藏您的复选框。
可能会稍微扩展下面的代码以向用户显示<div id="loading">Loading...</div>
或加载.gif图片,以便他们知道您的网页正在处理中并且不会感到沮丧:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.3/jquery.min.js"></script>
<script type="text/javascript">
$(function () {
$("#" + "<%: CheckBox1.ClientID %>").change(function () {
if (this.checked) {
$(this).hide()
}
});
});
</script>
答案 1 :(得分:0)
非常感谢丹尼斯!你的解决方案终于让我学习了jQuery(我想做一段时间)并帮助我按照我想要的方式工作。
当网格加载所有复选框时显示其值。单击一个时,下面的jquery运行并将它们全部隐藏起来。我在asp复选框控件上有一个OnCheckedChanged事件,它调用程序并更新单击的记录,当网格再次加载时,所有复选框都显示正确的值。太酷了!
<script src="../Scripts/jquery-3.1.0.js"></script>
<script type="text/javascript">
$(document).ready(function (){
$("input:checkbox").click(function () {
$("input:checkbox").hide();
});
});
</script>