对于微软的TreeView控件,大家应该不陌生吧!菜鸟请教一个问题,当我们点击不同的节点时,在同一个页面上显示不同的内容,这是怎么实现的?就像本论坛一样,当单击网页左边的树型节点时,右边的网页显示不同的内容,谢谢!

解决方案 »

  1.   

    http://adandelion.cnblogs.com/articles/235681.html
    http://www.cnblogs.com/renyu732/archive/2005/09/27/244735.html
      

  2.   

    csdn是frameset。你首先要理解html的a、frameset和frame对象,然后根据<a>中target属性的含义在动态创建树的节点的时候设置navigationUrl属性和树的Target属性。但是frameset的页面布局非常死板,更多实际页面不能使用frameset(我有一个例子http://cmda618.vicp.net/w2cms)。这时候treeview就是页面上的与内容在一起的一个控件,再treeView的selectedIndexChange事件中动态改变内容(这可能是一个ascx、自定义控件,一堆放如Panel的控件等等,其难易程度和效率看你的组件设计水平)。
      

  3.   

    target 要刷新的框架名navigateUrl  框架所指向的URL
      

  4.   

    agree sp1234;
    i sealed it as CustomControl too.
      

  5.   

    首先搞清框架
    在treeview里是这样定义超链接的
    TreeNode tn    = new TreeNode();
    tn.NavigateUrl = "Test.aspx" ;
      

  6.   

    设置你的treeview的target属性为你的框架的名字
    简单的例子,框架
    <frameset rows="121,78%">
    <frame name="banner" src="Head.aspx" scrolling="no" noresize height="122">
    <frameset cols="168,83%">
    <frame name="contents" src="Left.aspx" scrolling="no" width="205">
    <frame name="main" src="">
    </frameset>
    <noframes> </noframes>
    </frameset>
    当你把treeview的target属性设置为main,则在treeview点击的页面都将跳转到main的框架中
    如果treeview的节点中有的要跳出单独的页面,则只要设置节点target的属性为_parent
    或者其他的_blank,_self等等。
    使用代码也可以写  treeExit.Target="_parent";  treeExit为节点的名称