不使用 AJAX AutoCompleteExtender 和 Web 服务的 ASP.Net 中的自动完成文本框

Posted

技术标签:

【中文标题】不使用 AJAX AutoCompleteExtender 和 Web 服务的 ASP.Net 中的自动完成文本框【英文标题】:AutoComplete TextBox in ASP.Net without using AJAX AutoCompleteExtender and Web Services 【发布时间】:2013-03-30 08:21:27 【问题描述】:

任何关于在 ASP.Net 中实现 AutoComplete TextBox 的示例,它从数据库中获取数据,并且不使用 Ajax 工具包中的 AutoCompleteExtender,也不使用 Web/Wcf 服务来请求数据。

例如使用jQueryphp,我可以只使用$.ajax 函数,传递一个URL,PHP 只返回一个JSON 对象。

【问题讨论】:

如果您的 php 页面在 asp.net 页面的 jquer.ajax 函数中返回 json 或 xml 到 conusme,则可以这样做 【参考方案1】:

如果你知道如何在 PHP 中做到这一点,同样可以在 asp.net 中使用。 您不需要使用网络服务。只需一个 PageMethod 就足够了。

参考:Using jQuery to directly call ASP.NET AJAX page methods

既然你提到了jQuery,这个函数可以根据需要返回数据jquery-autocompelete。

但是,一旦您收到自动完成的建议列表,您也可以自己编写 javascript 来展示它。

【讨论】:

【参考方案2】:

不使用任何extenderjquery-autocompelete 非常困难 您还需要创建一些服务器端方法,在查询数据库后从服务器端方法返回json

【讨论】:

虽然我没有投反对票,但我怀疑你说“不可能”没有这两个为你赢得了反对票。毕竟,如果一个扩展程序可以使用 javascript 来完成,那么您可以自己编写。 感谢@nunespascal 的建议。我已经编辑了我的答案。【参考方案3】:

您可以使用 jQuery-autocomplete 并从服务器获取数据,您可以使用通用处理程序 (.ashx) 从服务器获取 JSON 数据。 在源代码中给出 .ashx 页面的路径,在处理程序中将 JSON 数据写入响应流。

http://jqueryui.com/autocomplete/#remote

http://johnnycoder.com/blog/2008/12/16/httphandler-json-data/

【讨论】:

以上是关于不使用 AJAX AutoCompleteExtender 和 Web 服务的 ASP.Net 中的自动完成文本框的主要内容,如果未能解决你的问题,请参考以下文章

为啥vue不使用ajax

window.location 不使用 Ajax 重定向

为啥不总是使用 HTTP post 进行 ajax 调用?

HTTP与AJAX深入揭秘,不使用AJAX实现页面无刷新

使用 Jquery 的同步“Ajax”调用似乎不起作用

使用 Laravel 返回令牌不匹配的简单 ajax 搜索