2009-04-23 84 views
1

使用ASP.NET 3.5与VB代码隐藏。我可以在没有* web服务的情况下使用AJAX Autocomplete扩展器吗?

我不想使用web服务来填充文本框上的自动完成扩展器。在这种情况下,用户正在输入电子邮件地址,而且我不想每次都访问数据库。我宁愿将会话保持在会话状态,并将自动完成功能“绑定”到该状态。

是否可以将ServicePath和/或ServiceMethod设置为代码隐藏内容而不是web服务?

回答

0

特定的自动完成需要一个web服务。你可能要考虑使用类似jQuery的东西来完成自动完成。我在Google上发现了一个支持本地数组的this

+0

那么,只是为了让事情运行,我做了web服务,但它不是射击。我可能有安全问题需要处理(在这里的军事基地) – David 2009-04-23 12:42:47

0

您不必使用web服务本身。 (或的.asmx .SVC)

但是,你会需要一些排序的.aspx,.ashx的等

您将需要某种类型的数据库的服务器脚本。如果需要,您可以在应用程序或会话中保留某些内容。如果这是相同的数据放在应用程序中。

服务器脚本(无论它可能)必须根据他们输入的内容来筛选结果。

尽管使用webservice比较容易,特别是使用内置的JSON序列化器。

重新读取您的问题后...

您确实在问关于缓存。

您可以添加您正在运行的任何查询的数据,并将其添加到asp.net缓存中。

WebServices可以访问与.aspx相同的Cache对象。

所以高速缓存,并推它出来的ASMX作为JSON

+0

我越来越可能会被迫去访问web服务路线。谢谢。 – David 2009-04-23 11:35:58

1

是,ServiceMethod可以命名一个页面的方法。请参阅AutoCompleteExtender的文档。 ServicePath作为可选项,并且如果省略,则ServiceMethod将引用当前ASP.NET页面(必须使用2个特定属性进行修饰)的静态方法。

相关问题