【问题标题】:How to reduce page size with devexpress controls如何使用 devexpress 控件减小页面大小
【发布时间】:2012-09-22 20:30:06
【问题描述】:
我目前有一个页面优化问题。这是一个类似仪表板的页面,它包含带有 3 个组的 AspxNavBar(手风琴控件的模拟),组包含回调面板内的 2 个图表,回调面板内的 4 个网格(1 个主 + 3 个从属),具有许多组合框的过滤控件和一个回调面板。
页面的总重量约为 4 兆字节,此外,页面的第一次加载会立即在相关网格(第一行在主网格中“选中”)和带有图表的面板上启动回调(用于调整图表大小)。
有没有办法减少页面大小,比如 html 的大小或 devexpress 控件的回调/视图状态?我已经搜索并找到了禁用行缓存的建议(实际上没有帮助),将文本框切换到本机模式(我没有文本框)等。我还禁用了所有网格的视图状态并摆脱了 2回调面板,但这也没有导致页面大小显着减小 (~ 1-2 %)。
【问题讨论】:
标签:
optimization
size
devexpress
megabyte
【解决方案1】:
我已使用以下方法将页面大小从 4.5Mb 减小到 575Kb:
- 我已禁用整个页面和所有内部用户控件的 ViewState。我已经在必要的地方为单独的控件启用了它(实际上我最后根本没有想出任何视图状态)。
- 我已在可能的情况下禁用了某些控件的回调状态,因为在回调时我不需要任何有关页面的信息,除了那些我明确传递为回调参数的信息。
- 我稍微简化了布局。 (去掉了过滤控件上的另外 2 个回调面板 - 这是一个内部有 2 个组合框的面板。我现在在每个组合框上执行 2 个回调而不是 1 个面板回调。组合框回调更快更健康,因为它们不要将页面布局返回为 html)。此外,我将标签更改为跨度,将按钮更改为输入等。并且我摆脱了一些嵌套标签。
- 将
RenderMode='Lightweight' 用于AspxNavBar(实际上,这只会将页面大小减少~20kb)
- 改进了架构背后的代码,重构了 javascript,减少了回调和事件回发的数量(现在使用回调来应用 !filter)等等。
仅此而已 =) 希望对某人有所帮助。