使用ajax优化输入位置的搜索结果



我在asp.net网页中有一个用于输入城市的文本框。在输入一些文本时,它会像脸书一样提供匹配结果的建议。

我尝试了这两种方法来实现这一点。

  1. 我第一次使用onTextChanged事件和AJAX,发现它只有在文本框失去焦点时才有效。我想要一个能在你打字时工作的解决方案。使用它的优点是我可以使用数据库,而且速度很快,因为在这个过程中不会传输xml文件

2.我使用ajax,客户端使用js。但问题是包含城市、州和国家的xml是一个巨大的30MB文件。所以,使用它是不可能的,所以考虑用这个大的字母表制作每个字母表的26个小xml文件,但它们仍然足够大,可以实际使用。所以,现在我计划使用26*26个文件,其中包含前两个字母相同的城市,但我认为这是做我想做的事情的无效方法。

还有其他有效的方法可以实现吗?如果可以的话,最好的方法是使用数据库。

  1. 您需要使用onkeypress和/或onkeyup事件。你知道吗,有免费的即插即用自动完整组件?例如http://jqueryui.com/demos/autocomplete/

  2. 使用JSON!它要紧凑得多。您可能会在数据大小上节省30-40%。你知道吗,你不需要传递整个数据集就可以工作?您可以让它在服务器上实时运行(例如,在数据库中,或者缓存在Web服务器上,以实现更快的访问和更少的数据库流量),并且让客户端一次只根据键入的字符提取一小部分数据。JQuery UI自动完成功能支持该功能。


如果你不能使用JQuery和JQuery UI(不想要是一个不可接受的答案),那么我相信还有其他免费的选择,包括这个:http://www.asp.net/ajaxLibrary/AjaxControlToolkitSampleSite/AutoComplete/AutoComplete.aspx

相关内容

  • 没有找到相关文章

最新更新