如何在asp中制作自动完成文本框?但我需要通过查询数据库来获取自动完成数据。我真的不知道如何解释这一点,如果没有足够的细节,对不起。我不能使用 ajax,因为我认为我的旧应用程序会有兼容性问题。所以我想用java脚本来做这件事。或者有没有办法通过使用.net来做到这一点?我使用 C# 进行代码隐藏。谢谢
4 回答
我认为,如果不使用一些第三方自动完成功能,将会付出很多努力 - 不知道“我不能使用 ajax”是什么意思,但是如何使用ASP.NET AJAX 自动完成控件,将ServiceMethod
属性设置为静态页面方法在你的代码后面吗?这至少使它包含在您的页面中。
Page 方法可以转到您的数据库,并返回一个 String[] 结果。
如果您决定使用它,则需要在控件中将EnablePageMethods
属性设置为。true
<asp:ScriptManager>
AJAX 是 JavaScript。它是使用 XMLHttpRequest 对象发出异步请求的 JavaScript。 这是一篇关于它和 ASP.NET 的文章。
如果您想了解更多关于 AJAX(A同步J avaScript和X ML)的信息,我会先查看Wikipedia。如果你想要关于它的书,有很多。我推荐Christian Wenz (O'Reilly And Associates) 的Programming ASP.NET AJAX。
如果您不想使用 ajax 库,请尝试 jquery
有很多插件自动完成或 jquery 建议文本框试试这个 http://www.vulgarisoip.com/2007/08/06/jquerysuggest-11/
ASP.NET AJAX 框架适用于 ASP.NET 2.0 及更高版本。因此,它不能在 Visual Studio 2003 环境中工作。
Anthem.NET 是一个免费的跨浏览器 AJAX 工具包/框架,适用于 ASP.NET 开发环境,适用于 ASP.NET 1.1 和 2.0 - http://sourceforge.net/projects/anthem-dot-net
对于您的自动完成要求,您可以考虑使用 jQuery Autocomplete Plugin
它需要非常少的编程。在此处查看演示和代码示例 - http://docs.jquery.com/Plugins/Autocomplete
它的 autocomplete() 方法采用 URL 或数组来填充您的自动完成列表。您可以传递直接从数据库中获取结果的页面的 URL。