自动完成扩展程序 - 滚动条会导致结果关闭?

时间:2016-11-15 20:11:02

标签: asp.net ajax vb.net autocomplete ajaxcontroltoolkit

我使用文本框,自动填充扩展程序和autocompletedropdownpanel运行了一个网站。基本上,当用户开始在文本框中键入名称时,结果会在几秒钟内显示。由于可能有数百行,我需要一个滚动条。然后使用只选择名称。出于某种原因,它现在已经坏了(也许用IE更新?因为它在Chrome中工作正常)现在当用户使用滚动条时它会自动关闭结果并且无法进行选择。我无法在网上找到解决方案。我需要使用更新的ajax套件吗?如果是这样,我该怎么做呢?或者我可以添加或更改我的代码吗?

更新:我发现此问题仅出现在Surface Pro平板电脑上。所以使用IE11和平板电脑会导致这种情况。即使平板电脑与普通的键盘和鼠标停靠在一起。

是否可以对带滚动条的下拉面板使用cancelBubble函数?我有一个问题,当点击滚动条滚动时,一旦释放鼠标滚动行,结果将关闭。从阅读开始我认为我需要某种cancelBubble事件或停止传播

  <asp:Panel ID="autocompleteDropDownPanel" runat="server" 
            ScrollBars="Auto" Height="200px" Font-Size="Medium" 
            HorizontalAlign="Left" Wrap="False" />

 <asp:AutoCompleteExtender ID="AutoCompleteExtender" runat="server" 
        DelimiterCharacters="" Enabled="True" ServicePath="AutoComplete.asmx" 
                ServiceMethod="GetCompletionList" TargetControlID="DoctorNameTextBox" 
                UseContextKey="true" ContextKey="StateDropDown"
                CompletionListElementID="autocompleteDropDownPanel" 
                onclientitemselected="getSelected"
                ShowOnlyCurrentWordInCompletionListItem="True" CompletionInterval="100" 
                MinimumPrefixLength="2">

    </asp:AutoCompleteExtender>

1 个答案:

答案 0 :(得分:1)

只需编辑课程的CSS。

Overflow: Auto;
Height: 60px;

如果这不起作用,请尝试以下操作: 设置AutoPostBack=false。 如果通过设置AutoPostBack=false消除了AutoCompleteExtender功能,那么通过使用OnClientItemSelected属性,我可以调用触发回发的javascript函数。