目前我的分类有四层,所有项见使用http://new.dahuace.com/Models/Default.aspx .使用TreeView显示出现了很大瓶颈.于是,我采用了只显示前两级分类(http://new.dahuace.com/Default.aspx .可是客户不愿意.要求所有都要显示出来.向高手请教解决方案,要求:
1.所有分类都要显示出来
2.加载效率要求高
3.页面不能过长,不能向上面第一个个页面那么长(第二个适中)
4.界面能过意得去.
5.最好使用TreeView进行加载.
谢谢各位.没有什么可回报的,做完了一定把这个网站的源码上传上去一起探讨!!

解决方案 »

  1.   

    不用都ExpandAll就不会那么长了嘛。可以考虑先绑定主节点内容,等用户展开某个节点的时候加载也可以!就像csdn这个论坛旁边那个treeview一样。
      

  2.   

    我有想法.最好是这样:
    每点开一个结点后就进行对其它所有结点都关闭(但客户要求至少要显示两级分类给浏览者展示).这样就解决了.但只使用TreeView 的话,我试了一下,使用地跪递归使得整个页面加载非常慢!
      

  3.   

    TreeView有这个参数SelectedNodeStyle-CssClass,你可以设计好一个css,然后使用他就可以了。JavaScript也可以不用了。
      

  4.   

    TreeView有这个参数SelectedNodeStyle-CssClass,你可以设计好一个css设计CSS做什么?实现我说的那些功能 
      

  5.   

    你不是要“还有,怎么做到当前访问的那个节点变色(突出)呢”这个功能么?SelectedNodeStyle-CssClass不就是选中节点的样式么?
      

  6.   

    谢谢[netddayup],那其它功能呢?我应该大体采用什么方式
      

  7.   

    又来看了,还是没有人理我
    我先说一下我实现的思路,忘高手帮我说一下最后这一步怎么办?加载所有ParentId=0邦定到DataList,主键ClassID
      绑定所有ParentID=ClassID数据到Repeater或DataList
       在ClasName显示上加入PopupControlExtender控件,点击弹出Panle.
            Panle中加载以上一个ClassID为起点所有的子节点的一个TreeView
       显示完成数据这一种思路,这样的话.我就可以做到前两级全部显示,后面的动态显示.但现在问题是在第一层的DataList中能FindControl第二个DataList.也能找到Panle.但死活找不到TreeView
    怎么回事??
    另一种方法我是这样想的,不知道高手何见先加载前两层分类的所有数据到TreeView并处于打开状态.在节点单击事件中加载这个节点下所有子节点数据(如果没有就打开链接,并不管下面还有几层数据)
    但到这里我就不会做了.这个事件我应该怎么写?值传得进去,但怎么绑定都是绑定到TreeView最底下.不能绑定当前叶上...
    除些之外,不知道高人们还有什么办法能实现我要的想法?分少,可怜一下,不行我再加点儿!!
      

  8.   

    先学习一下!!!
    前面我也做了一个类似的TreeView,没有这么复杂,功能不过是加载数据库中所有的类别信息(对一个类别表操作),然后可以对类别进行添加、修改、删除
    关键是性能的问题,之后我简单的用了一下缓存在第一次加载的时候,性能提高了一倍,但当对其他页面操作之后,再跳回到类别页面,性能跟没使用缓存一样问一问,这个性能的问题,有什么好的解决方法呢?最后帮你顶一下!!!