TreeView 的动态加载和无刷新例子 
     希望做一个可以从数据库中动态添加Tree的例子,无刷新的.谢谢.谢谢.在线等.希望  孟大哥  . SP1234 等高人给予指点.

解决方案 »

  1.   


    google "AjaxTree" ,多呢
      

  2.   

    http://blog.programfan.com/article.asp?id=23571http://www.xyhot.com/article.asp?id=116
      

  3.   

    前台:
    <asp:TreeView runat="server" ID="tvRegion" OnTreeNodePopulate="tvRegion_TreeNodePopulate"
                            PopulateNodesFromClient="true" ShowCheckBoxes="All" ShowLines="True">
                            <Nodes>
                                <asp:TreeNode Text="中国" ToolTip="zg" Value="zg"
                                    Expanded="false" PopulateOnDemand="true" />
                            </Nodes>
                        </asp:TreeView>后台:
    protected void tvRegion_TreeNodePopulate(object sender, TreeNodeEventArgs e)
        {
            RegionSet rs = RegionSet.GetInstance("EmedMis2");
            DataSet dsRegion = rs.getFirstChilds(e.Node.Value);
            
            foreach (DataRow  dr in dsRegion.Tables[0].Rows)//目录节点
            {
                TreeNode newNode = new TreeNode();
                newNode.PopulateOnDemand = true;//节点允许被展开
                newNode.Text = dr["area_name"].ToString();
                newNode.ToolTip = dr["area_name"].ToString();
                newNode.Value = dr["area_id"].ToString(); //节点的完整路径名
                e.Node.ChildNodes.Add(newNode);//添加目录节点
                //将已经设置过的项,回填到数控件(checked为true)
                if (ViewState["ds"] != null)
                {
                    foreach (DataRow dr1 in ((DataSet)ViewState["ds"]).Tables[0].Rows)
                    {
                        if (newNode.Value == dr1["Region_ID"].ToString())
                            newNode.Checked = true;  
                    }
                }
            }
        }点击树节点不刷新方法:newNode.NavigateUrl = "javascript:return false;";