1

我有几个客户网站已经使用了 4 年以上。两个站点上的一个页面包含现在包含 3000 多个项目的下拉列表。我已经尝试通过向两个站点添加新页面来解决这个问题,其中一个站点使用silverlight,另一个站点使用ajax。

加载控件后,silverlight 页面当前的性能优于 ajax 页面,但需要用户拥有 silverlight 或安装它的权限。ajax 版本的问题是它发送仍然需要初始下载所有数据才能在首次加载站点时完成下拉菜单。

ajax 版本仍然使用视图状态并在每次请求时向服务器发送 400k+。

我想做的是使用ajax版本,但在客户端缓存下拉数据,每天只下载一次数据。

如果我使用 asp.net 将数据保存到隔离存储(我已对该部分进行了排序)是否可以使用客户端代码(例如 jquery)访问它?

4

1 回答 1

2

就个人而言,我不可能对 3000 多个项目使用下拉菜单。不仅数据传输和视图状态存在问题,而且对于任何用户来说,滚动浏览这么多项目以找到他们需要的选项也是一种痛苦。

你有没有考虑过这样的事情:

http://jquery.bassistance.de/autocomplete/demo/

您有一个文本框,上面写着“开始输入”之类的内容……当用户键入他们要查找的内容的第一个字母时,将进行 ajax 查询以获取以该字母开头的所有条目。

鉴于字母表中有 26 个字母,您将平均返回 4% 的数据,即 120 个条目而不是 3000 个!!此外,随着用户了解您的系统,他们可以键入越来越多的字母并更快地找到他们正在寻找的内容。Beats 滚动浏览 3000 个条目的列表,让您的应用程序更易于使用、响应更迅速且对网络更友好!

于 2009-11-07T22:49:58.403 回答