1

我目前有一个页面优化问题。这是一个类似仪表板的页面,它包含带有 3 个组的 AspxNavBar(手风琴控件的模拟),组在回调面板内包含 2 个图表,在回调面板内包含 4 个网格(1 个主 + 3 个从属),具有许多组合框的过滤控件和一个回调面板。

页面的总重量约为 4 兆字节,此外,页面的首次加载会立即在相关网格(第一行在主网格中被“选中”)和带有图表的面板(用于调整图表大小)上启动回调)。

有没有办法减少页面大小,比如 html 的大小或 devexpress 控件的回调/视图状态?我已经搜索并找到了禁用行缓存的建议(实际上没有帮助),将文本框切换到本机模式(我没有文本框)等。我还禁用了所有网格的视图状态并摆脱了 2回调面板,但这也没有导致页面大小显着减小(〜1-2%)。

4

1 回答 1

3

我已经设法使用以下方法将页面大小从4.5Mb减少到575Kb


  1. 我已经从整个页面和所有内部用户控件中禁用了 ViewState。我已经在必要的地方为单独的控件启用了它(实际上我最后根本没有想出任何视图状态)。
  2. 我已经在可能的情况下禁用了某些控件的回调状态,因为我不需要任何关于回调时页面的信息,除了那些我明确地作为回调参数传递的信息。
  3. 我稍微简化了布局。(去掉了过滤控件上的另外 2 个回调面板 - 这是一个内部有 2 个组合框的面板。我现在在每个组合框上执行 2 个回调而不是 1 个面板回调。组合框回调更快更健康,因为它们不要将页面布局返回为 html)。此外,我已将标签更改为跨度,将按钮更改为输入等。我摆脱了一些嵌套标签。
  4. 用于RenderMode='Lightweight'AspxNavBar实际上,仅将页面大小减少了约 20kb)
  5. 改进了架构背后的代码,重构了 javascript,减少了回调和事件回发的数量(!filter 现在使用回调来应用)等。

仅此而已 =) 希望对某人有所帮助。

于 2012-09-22T12:30:06.477 回答