我使用自动填充扩展程序功能从我的数据库中获取建议列表。这个控件没有滚动条,所以我在面板中添加了一个滚动条(MS .net 2.0),我附加到我的自动完成扩展器。现在问题在于srcoll吧。 像这样
<asp:Panel ID="autocompleteDropDownPanel" runat="server" ScrollBars="Auto" Height="100px" HorizontalAlign="Left" />
并将其添加到autocompete extender中,如下所示
:CompletionListElementID="autocompleteDropDownPanel"
当我调用我的页面时,我会看到建议列表并显示滚动条。当我点击滚动条或尝试拖动时,一切都消失了。
我做错了吗?有没有其他方法可以将滚动条添加到我的自动完成扩展程序控件
任何提示都会非常有用。
答案 0 :(得分:1)
这并没有直接回答你的问题 - 但我会问你是否确定自动完成扩展程序是在这种情况下使用的最佳控件。
从可用性的角度来看,自动完成的好处是我可以键入3-4个字符,查看一些可用的输入,并使用键盘使用一些下行光标键轻松选择它们。
如果您在自动填充列表中显示的项目多于在屏幕上轻松查看的项目,那么我不确定该修复是否添加滚动条。
在我们的场景中,我们列出了自动填充中可用的2800个名称。我们将显示的数字限制为20,但将MinimumPrefixLength
设置为1.这意味着当用户输入一个字符时,他们会看到一个自动完成列表,它实际上只是让他们知道他们输入的文本框有这个能力。只有在用户输入3-4个字符后,列表中的结果列表才真正有用。
答案 1 :(得分:1)
我有一个类似的问题,看起来还没有解决。
单击AutoCompleteExtender滚动条会在附加到AutoPostBack =“true”的TextBox时导致回发。
重现的步骤:
似乎我们需要的是一种在显示下拉列表时暂时禁用AutoPostBack行为的方法,或者可能只是当一个人尝试滚动时。也许单击滚动条可能会设置某种禁用AutoPostback的标志,然后释放鼠标会重新启用它。我不知道这有多可行,但如果有人有想法,那肯定会很好。
http://www.codeplex.com/AjaxControlToolkit/WorkItem/View.aspx?WorkItemId=15161
答案 2 :(得分:1)
这是目前在visual studio 2008 sp1 ajaxtoolkit中解决的问题,您可以提示滚动列表但编辑CompletionListCssClass集的CSS
overflow:auto;
height:60px;
答案 3 :(得分:1)
我在ASP.NET 3.5中使用AutoCompleteExtender
时遇到了相同的症状.....这是因为我在文本框上有AutoPostBack=True
,关闭它使滚动条功能正常
(我知道这与原始问题的情况不同,但我在尝试修复问题时从谷歌发现了这一点,所以发布我的解决方案似乎很合适。)
答案 4 :(得分:0)
通过在文本框中设置AutoPostBack=false
来解决滚动条问题上的点击问题。但随后AutoCompleteExtender的功能消失了。使用OnClientItemSelected
属性我可以调用一个触发回发的javascript函数,并且所有IE浏览器用户都很高兴: - )