不使用 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 服务来请求数据。
例如使用jQuery
和php
,我可以只使用$.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】:不使用任何extender
或jquery-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 中的自动完成文本框的主要内容,如果未能解决你的问题,请参考以下文章