日期:2014-05-17  浏览次数:20532 次

TreeView获取不到选中的子节点的值
写了个简单的树形结构,想获取每个节点的值,但是点击父节点使用TreeView的SelectedNode可以获取选中的节点,而点击子节点的时候SelectedNode的值为null,什么原因呢?

也在网上查了一些资料,但是,基本上都是通过各种方法使用SelectedNode获取,有什么可能的原因导致点击选中子节点而SelectedNode的值为null呢?

------解决方案--------------------
webform 从没用过TreeView  帮顶
------解决方案--------------------
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;

namespace WebApplication1
{
    public partial class WebForm3 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                CategoryNodeBind();
            }
        }

        private void CategoryNodeBind()
        {
            //string sqlCommand = "SELECT * FROM DBO.Category WHERE ID=PARENTID";
            DataTable parentData = createdb();//GetCategories(sqlCommand);
            for (int i = 0; i < parentData.Rows.Count; i++)
            {
                TreeNode parentNode = new TreeNode();
                parentNode.Text = parentData.Rows[i]["Name"].ToString();
                parentNode.Value = parentData.Rows[i]["Id"].ToString();
                //parentNode.NavigateUrl = parentData.Rows[i]["CatalogEditUrl"].ToString();
                this.TreeView1.Nodes.Add(parentNode);
                SubCategoryNodeBind(parentNode);
            }
        }

        private void SubCategoryNodeBind(TreeNode parentNode)
        {
            //string sqlCommand = "SELECT * FROM DBO.CATEGORY WHERE PARENTID='" + parentNode.Value + "'";
            DataTable childData = createsubdb();//GetCategories(sqlCommand);
         &