我有一个网页,可以将数据加载到gridview中,并每隔几秒刷新一次gridview。我是通过asp:Timer来完成的,它每隔几秒运行一次C#函数来重新查询数据库并对gridview进行数据绑定。
我还有一些下拉列表来过滤gridview中的数据。这些下拉列表从与gridview相同的数据集中获取它们的数据(例如,如果gridview显示从树中采摘的所有苹果的统计数据,则列表可以包含例如所有不同的苹果类型)。我如何刷新这些下拉列表再次重新查询数据集并将所选索引重置为刷新时选择的索引。所以这会导致下拉列表打开时计时器启动的问题 - 选择下拉列表中的索引并刷新gridview,下拉列表也会刷新当前所选索引并关闭。
所以问题是如何在下拉列表处于活动状态时禁用我的计时器刷新功能 - 或者我该如何做得更好?
编辑:忘了提到我正在使用ajax / UpdatePanel进行刷新
答案 0 :(得分:2)
您需要做的第一件事是定义一些事件,以便在下拉列表打开时捕获。我不认为有一个,但你可以使用focus()事件......也许。
然后当下拉列表打开时,您需要禁用计时器客户端。本文解释了它(虽然使用了复选框)