使用带有 VB 代码隐藏的 ASP.NET 3.5。
我不想使用网络服务在文本框上填充自动完成扩展器。在这种情况下,这是用户输入电子邮件地址的地方,我不想每次都访问数据库。我更愿意将集合保持在会话状态并将自动完成“绑定”到该状态。
是否可以将 ServicePath 和/或 ServiceMethod 设置为代码隐藏中的内容,而不是 web 服务?
使用带有 VB 代码隐藏的 ASP.NET 3.5。
我不想使用网络服务在文本框上填充自动完成扩展器。在这种情况下,这是用户输入电子邮件地址的地方,我不想每次都访问数据库。我更愿意将集合保持在会话状态并将自动完成“绑定”到该状态。
是否可以将 ServicePath 和/或 ServiceMethod 设置为代码隐藏中的内容,而不是 web 服务?
Yes, ServiceMethod can name a page method. See the documentation for AutoCompleteExtender. ServicePath as optional, and if ommitted, ServiceMethod is taken to reference a static method of the current ASP.NET page (which must be decorated with 2 specific attributes).
是的。方法如下:创建简单的自动完成文本框 - ASP.NET Ajax 库
该特定的自动完成功能需要网络服务。您可能需要考虑使用 jQuery 之类的东西来完成自动完成。我在谷歌上找到了这个支持本地数组的。
您不必使用网络服务本身。(.asmx 或 .svc)
但是您需要某种服务器脚本,.aspx、.ashx 等
您将需要某种数据库。如果需要,您可以在应用程序或会话中保留一些内容。如果是相同的数据,则将其放入应用程序中。
服务器脚本(无论它可能是什么)必须根据他们输入的内容过滤结果。
不过,使用 Web 服务要容易得多,尤其是使用内置的 JSON 序列化程序。
重新阅读您的问题后...
你真的在问缓存。
您可以添加正在运行的任何查询的数据并将其添加到 asp.net 缓存中。
WebService 可以访问与 .aspx 相同的 Cache 对象。
所以缓存它并将它作为 JSON 推出一个 asmx