<%@ Import Namespace="Microsoft.Web.UI.WebControls" %>
<%@ Register TagPrefix="IE" Namespace="Microsoft.Web.UI.WebControls" 
Assembly ="Microsoft.Web.UI.WebControls" %><Script runat="Server">Sub Page_Load
  ShowChecked( treeIceCream.Nodes )
End SubSub ShowChecked( colNodes As TreeNodeCollection )
  Dim tnNode As TreeNode  For each tnNode in colNodes
    If tnNode.Checked = True Then
      lblCheckedNodes.Text &= "<li>" & tnNode.Text
    End If
    ShowChecked( tnNode.Nodes )
  Next
End SubSub TreeView_SelectedIndexChanged(s As Object,e As TreeViewSelectEventArgs)
lblCheckedNodes.Text &= "<li>" & treeIceCream.GetNodeFromIndex(e.NewNode).Text
End Sub
</Script><html>
<head><title>TreeViewCheckbox.aspx</title></head>
<body>
<form runat="Server"><IE:TreeView
  id="treeIceCream"
  AutoPostBack="false"
  ImageUrl="dir.gif"
  ExpandedImageUrl="dir_open.gif"
  onSelectedIndexChanged="TreeView_SelectedIndexChanged"
  Runat="Server"><TreeNode 
  Expanded="True"
  Text="Ice Cream" >  <TreeNode 
    CheckBox="True"
    Text="Rocky Road"/>
  <TreeNode 
    CheckBox="True"
    Checked="True"
    Text="Chocolate"/>
  <TreeNode 
    CheckBox="True"
    Text="Strawberry"/>
  <TreeNode 
    CheckBox="True"
    Text="Vanilla"/></TreeNode></IE:TreeView><p>
<asp:Label
  id="lblCheckedNodes"
  EnableViewState="False"
  Runat="Server" /></form>
</body>
</html>

解决方案 »

  1.   

    在向TREEVIEW控件中添加
    TreeNode node = new TreeNode();
    node.Text = ""; //节点显示的Text
    node.Value="";  //节点的值
    node.CheckBox=true; //显示复选框
    treeview.nodes.add(node); //根据实际情况改动。
    在TREEVIEW控件的AfterChecked事件的方法中添加如下代码:
      CheckNodes(e.Node); // e为事件的方法中的参数e
    private void CheckNodes(TreeNode pNode)
    {
      foreach(TreeNode node in pNode.Nodes)
      {
        if(node.Nodes.Count > 0)
        {
           CheckNodes(node);
        }
        node.Checked = pNode.Checked;
      }
    }
    用递归算法来遍历所有的子节点保持和鼠标点击的节点的Checked属性保持一致。
    代码只是随手写的,没有经过调试。如果有问题自己改一下。我想应该没有问题:)
      

  2.   

    AutoPostBack="false"改为“true”或另加Button提交。
      

  3.   

    闪是因为AutoPostBack="false"改为“true
    每次选定一项都向服务器发一起请求把它改为FALSE
      

  4.   

    首先保证装好你的组件,这个包安装非常方便,只要运行一下即可在VS.NET中使用了:
    http://218.56.11.178:8018/FileDown.aspx?FID=4看看这个例子,对你一定有启发:
    http://218.56.11.178:8018/FileDown.aspx?FID=246这个论坛也使用了树:
    http://218.56.11.178:8018/FileDown.aspx?FID=212论坛的使用演示地址,在这里:
    http://expert.kaer.cn/提供站点:http://soft.kaer.cn       希望大家多支持!
    ftp://soft.kaer.cn   可以直接用IE匿名访问,目前速度没限制。
      

  5.   

    http://www.microsoft.com/china/msdn/library/dnaspp/html/aspnet-usingtreeviewiewebcontrol.asp