代码之家  ›  专栏  ›  技术社区  ›  sarsnake

ASP.NET TreeView性能

  •  2
  • sarsnake  · 技术社区  · 15 年前

    在使用TreeView时,为了最大限度地提高性能,应该做什么?

    通过最大化性能,我的意思是最小化客户机到服务器之间的往返次数,即回发。

    这是否意味着,我的大部分业务逻辑将位于javascript中?这里的折衷方案是什么?

    我说的是ASP.NET TreeView服务器控件

    2 回复  |  直到 15 年前
        1
  •  1
  •   Hrvoje Hudo    15 年前

    首先,决定将编程逻辑放在哪里:为了提高速度,最好使用其他树视图控件(不使用表布局)和JavaScript框架来处理单击事件。我建议在Ajax通信中使用普通的旧ashx处理程序文件,它们的开销比aspx和调用page方法少。Ajax调用和结果只能包含JSON或XML格式的数据,不能包含HTML。

    在oher方面,像vs和treeview控件这样的rad工具提供了快速生成Web应用程序的功能,但当然也有一些缺点:您需要返回服务器来处理每一个单击/选择事件,这会导致整个页面生命周期处理和Ajax调用的大量数据传输出现问题(viewstate和html一起被传输对于每个Ajax事件,从服务器到客户机)。

    但如果你想坚持TreeView,我建议:
    -CSS友好的控制适配器:它们极大地减少了生成的HTML的大小(在我的例子中,从100KB到20KB的HTML),并用ul/li元素替换了表布局。
    -将TreeView包装在ASP.NET Ajax UpdatePanel中,但仅使用TreeView,并使用面板的条件更新。不要害怕使用几个更新面板
    -保持视图状态最小

        2
  •  0
  •   FlyinFish    15 年前

    开发开销-您必须在JavaScript和代码隐藏中维护业务逻辑。

    如果脚本很大,客户机性能的降低也是一个问题。