2009-11-07 21 views
1

我有几个已经使用了4年以上的客户网站。两个网站上的其中一个网页包含现在包含3000多个商品的下拉菜单。我试图通过向两个网站添加新页面来解决此问题,其中一个网站使用silverlight,另一个使用ajax。孤立存储中的客户端数据缓存-asp.net,jquery,ajax,silverlight,

当控件加载后,silverlight页面当前比ajax页面执行得更好,但要求用户拥有Silverlight或安装它的权限。 ajax版本有它发送的问题,仍然需要首次下载所有数据,以便在网站第一次加载时完成下拉菜单。

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

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

如果我保存数据使用asp.net隔离存储(我有那部分排序)是否有可能访问它使用客户端代码,如jQuery的?

回答

2

个人而言,我无法使用3000+项目的下拉菜单。不仅在视图状态数据传输方面存在问题,而且任何用户都需要滚动浏览多个项目才能找到他们需要的选项。

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

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

你有一个文本框,说像“开始键入” ......第二,用户类型,第一,他们在找什么信, ajax查询会抓取所有以该字母开头的条目。

鉴于字母表中有26个字母,平均会返回4%的数据,即120个条目而不是3000!此外,随着用户了解您的系统,他们可以输入越来越多的字母,并找到他们想要的更快。通过3000条条目列表滚动浏览,让您的应用程序更易于使用,响应更快,更加网络化!

+0

这正是我认为要走下去的路线,虽然我有一些来自客户的阻力,因此原来的问题。该系统每天处理大约6000条记录,并且自我接管开发以来,缓慢地添加到显示在下拉列表中的数据。显示的数据量取决于用户权限,因此某些用户只能看到100个项目。之前我曾经压缩过所有的东西以减少数据传输的大小,但是随着用户数量的增加,带宽也成为问题。 –

+0

刚刚检查了链接,我认为这将解决我的问题 –

+0

没问题!很高兴能够帮助我成功地使用了该插件我自己做了一个Facebook风格的朋友搜索(请参阅演示页面上的远程图像搜索),感谢推动我超过100分 - 记住'标记'您的答案以及接受它们:) – reach4thelasers