Combobox 等待telrik控件的服务器端事件启动

Combobox 等待telrik控件的服务器端事件启动,combobox,telerik,Combobox,Telerik,我使用的是EnableLoadONLoad=True的Telerik Combobox,即每次最终用户键入一封信时,服务器端事件就会启动,以提取该单词的记录。例如,在下拉框中,如果我输入America,那么系统将搜索一个然后是AM然后是AME等等。。。并带来与这些字母匹配的结果。因此,在上述情况下,系统将7次单击服务器端事件。现在的问题是搜索功能需要一段时间(从5到10秒不等)来提取记录..超出我的控制:()我想要的是,当最终用户键入内容时,我想等待一秒钟,看看用户是否仍在键入。一秒钟后,我希望

我使用的是EnableLoadONLoad=True的Telerik Combobox,即每次最终用户键入一封信时,服务器端事件就会启动,以提取该单词的记录。例如,在下拉框中,如果我输入America,那么系统将搜索一个然后是AM然后是AME等等。。。并带来与这些字母匹配的结果。因此,在上述情况下,系统将7次单击服务器端事件。现在的问题是搜索功能需要一段时间(从5到10秒不等)来提取记录..超出我的控制:()我想要的是,当最终用户键入内容时,我想等待一秒钟,看看用户是否仍在键入。一秒钟后,我希望系统进行搜索。希望在一秒钟内,最终用户将键入他们需要的任何内容。现在我可以强制用户键入至少5个字母,以此类推,但最终用户可以使用单个字母或多个l进行搜索字母。由于业务需要,他们不希望限制字母的数量。

您只需指定一个以1000毫秒为单位的“ItemRequestTimeout”,它将告诉组合框在触发到服务器之前等待1秒。

他们的组合框上的ItemRequestTimeout默认为300,即十分之三秒。要做什么Brian建议这样做是可行的,但我发现默认设置通常是在导致回发之前有足够的时间

此外,如果为组合框合并
MarkFirstMatch=“true”
,它将自动转到与文本匹配的项目(如果存在)

这也会给你一些其他的选择

但是,如果在回发之前强制用户输入5个字母,则可能需要执行onkeyup和onkeydown javascript事件来检查他们是否输入了5个字符,然后才能导致回发。
或者可以使用Telerik组合框的OnClientkeyPressing属性进行检查

 function OnClientKeyPressing(comboBox, args)
   {
       if (comboBox.get_text().length > 4) {
         //Do postback here
   }
  }
我相信这样的事情会满足你的要求