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

ASP。NET树视图性能

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

    在使用TreeView时,为了最大限度地提高性能,明智的做法是什么?

    通过最大限度地提高性能,我的意思是尽量减少客户端到服务器之间的往返次数,即回传。

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

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

    首先,决定你想把编程逻辑放在哪里:为了提高速度,最好使用其他树视图控件(不使用表布局)和javascript框架来处理点击事件。我建议使用普通的老式ashx处理程序文件进行AJAX通信,它们的开销比aspx和调用页面方法少。AJAX调用和结果必须只包含JSON或XML格式的数据,而不是HTML。

    另一方面,像VS和TreeView控件这样的RAD工具可以快速生成web应用程序,但当然也有一些缺点:你需要回到服务器来处理每个点击/选择事件,这会带来整个页面生命周期处理和大量ajax调用数据传输的问题(对于每个ajax事件,ViewState和HTML都会从服务器传输到客户端)。

    但如果你想继续使用TreeView,我建议:
    -CSS友好控制适配器:它们大大减小了生成的html的大小(在我的例子中,从100kb到20kb的html),并用ul/li元素替换了表布局

    -保持ViewState最小

        2
  •  0
  •   FlyinFish    16 年前

    如果脚本很大,客户端性能下降也将是一个问题。