C# ASP.net在dropdownlist打开时禁用刷新

C# ASP.net在dropdownlist打开时禁用刷新,c#,asp.net,C#,Asp.net,我有一个网页,将数据加载到gridview中,并每隔几秒钟刷新一次gridview。我通过一个asp:Timer来实现这一点,它每隔几秒钟运行一个C#函数来重新查询数据库并绑定gridview 我也有一些下拉列表来过滤gridview中的数据。这些下拉列表从与gridview相同的数据集获取数据(例如,如果gridview显示从树上采集的所有苹果的统计信息,则列表可能包含所有不同的苹果类型)。刷新这些下拉列表的方法是再次查询数据集,并在刷新时将所选索引重置为所选索引。因此,这会导致一个问题,即当

我有一个网页,将数据加载到gridview中,并每隔几秒钟刷新一次gridview。我通过一个asp:Timer来实现这一点,它每隔几秒钟运行一个C#函数来重新查询数据库并绑定gridview

我也有一些下拉列表来过滤gridview中的数据。这些下拉列表从与gridview相同的数据集获取数据(例如,如果gridview显示从树上采集的所有苹果的统计信息,则列表可能包含所有不同的苹果类型)。刷新这些下拉列表的方法是再次查询数据集,并在刷新时将所选索引重置为所选索引。因此,这会导致一个问题,即当下拉列表打开时,计时器启动-下拉列表上的索引被选中并刷新gridview,下拉列表也会刷新当前选中的索引并关闭

因此,我的问题是,如何在下拉列表处于活动状态时禁用计时器刷新,或者如何更好地执行此操作


编辑:忘了提到我正在使用ajax/UpdatePanel进行刷新

您需要做的第一件事是定义一些事件,以便在下拉列表打开时捕获。我认为没有,但你可以使用focus()事件。。。也许吧

然后,当下拉列表打开时,需要禁用计时器客户端。本文对此进行了解释(尽管使用了复选框)


请参阅这篇文章,它将解释当用户键入某些输入时如何从客户端(js)控制计时器(您的情况与此类似,只是您有下拉列表):