【发布时间】:2010-11-29 19:03:44
【问题描述】:
我在商业网站上使用 AutoCompleteExtender。我的问题是用户快速输入部分单词并立即按“Enter”,这会导致 AutoComplete 控件不返回建议列表。例如,如果我的数据库中有短语“Texas, United States”,但用户只是快速键入“Texas”,然后按 Enter,则不会出现下拉列表。
我希望 AutoComplete 控件忽略用户按下 Enter 并继续获取建议数据的事实。 (最终是如果它在当前没有列表时忽略 Enter,但在有列表时选择一个项目)。
我可以通过访问此 Microsoft ASP.NET 站点的示例部分并快速输入一些字符,然后按“Enter”来模拟这个确切的问题。
请有人告诉我我需要做什么?
谢谢,马丁
【问题讨论】:
-
您的前提可能存在缺陷。输入几个字符并按 Enter 键的用户很清楚他们想要什么。当他们认为自己不需要列表时,为什么要强迫他们查看列表?
-
有几个场景你想强迫他看到它,即在你希望他们看到的唯一位置/标签的情况下,例如它不是德克萨斯州而是德克萨斯州联合状态或它不是 ajaxcontroltool 而是 ajaxcontroltoolkit
-
从我目前看到的情况来看,自动完成控件尝试尽可能懒惰地获取数据,以免加载服务器和带有大量请求的 javascript,因此一旦您停止按键他们告诉你答案。 Martin 的要求恰恰相反,急切地搜索和显示结果。
-
是的,我希望用户准确地选择他们想要的位置(这个问题可以在 www.ReviewYourRental.com 看到)所以我总是希望位置列表出现,即使用户有按“输入”。我注意到 HotelClub 将用户带到包含最近匹配城市列表的第二页,但我更愿意跳过第二页并在第一个搜索页面上获取正确的位置。因此,我真的需要解决这个“输入”关键问题!任何技术解决方案将不胜感激。
标签: asp.net .net-2.0 autocomplete ajaxcontroltoolkit