如何使用许多选择控件减少网页大小

时间:2011-11-04 23:22:59

标签: asp.net optimization select listbox

我正在开发一个asp.net应用程序,允许用户在一系列日期内更新数据。数据显示为表格:

  

日期 - 有效 - 有效促销

     

04/11/11 - 是 - 包含360个条目的列表框

     

05/11 / 11-是 - 包含360个条目的列表框

     

06/11/11 - 是 - 包含360个条目的列表框

     

...

     

04/02/12 - 是 - 包含360个条目的列表框

现在,该表可以有90-700行(例如允许输入90-700天),选择框有360个条目(12,000个字符)。因此,对于3个月的显示,我得到90 * 12,000 = 1MB的页面大小,并且对于2年的显示,这增加到8.4MB。

我可以看到问题是许多重复的列表框。我想到了以下方法,也许人们可以建议改进或改进:

  • 单击时每个列表框都会自行填充(减少初始页面大小,但用户可能需要等待下拉才能填充)
  • 有一个'真实'列表框和许多'假'列表框。当用户点击“假”列表框时,会显示“真实”列表框,然后将所选值存储在隐藏字段中
  • 让客户端清理数据,因此每个框中没有300多个选项

3 个答案:

答案 0 :(得分:1)

如果每个列表框的选项相同,我肯定建议在点击时使用javascript自动填充。出于完全相同的原因,我之前使用过这个解决方案,并且弹出选择列表没有明显的延迟,并且原始页面加载速度更快。

此外,Firefox在处理大量选择元素时曾经有过一个错误,并且在必要的解决方案时也会填充javascript。

答案 1 :(得分:0)

我会选择第二种选择。您还可以做的是首先填充第一个,然后使用JavaScript将内容复制到其他人。

但是否则 - 似乎你有一些可用性问题要解决,谁会使用这样的怪物形式!? :)

答案 2 :(得分:0)

我会一次将输入限制为一个月并将其存储在内存中,直到准备好将事务完成回DB。我还会审查对此的控制选择,也就是说,而不是列表框,而是考虑更直观的内容;可能是带有文本框的日历 - 您可以使用制表符并从一个月移动到下一个月。