TreeView控件里的节点,都是javascript:_doPostBack('myTreeView','s1\\11\\1')这种类型
我现在想把节点换成链接或者是自己可以定义的JS,应该怎么修改呢?

解决方案 »

  1.   

    using System;
    using System.Data;
    using System.Data.SqlClient;
    using System.Web;
    using System.Configuration;
    using System.Web.UI.WebControls;/// <summary>
    /// Class1 的摘要说明
    /// </summary>
    public partial class _Default : System.Web.UI.Page
    {
        public DataSet GetCategorys()//获取Category表里的数据
        {
            SqlConnection myConnection = new SqlConnection(ConfigurationManager.ConnectionStrings["SQLCONNECTIONSTRING"].ConnectionString);
            string cmdText = "Select * From Category";
            SqlDataAdapter da = new SqlDataAdapter(cmdText, myConnection);
            DataSet ds = new DataSet();
            try
            {
                myConnection.Open();
                da.Fill(ds);
            }
            catch (SqlException sqlex)
            {
                throw new Exception(sqlex.Message);
            }
            finally
            {
                myConnection.Close();
            }
            return ds;
        }
        public void BindCategoryTreeView(TreeView treeview, bool isExpanded, string SelectedData)
        {
            DataTable datatable = GetCategorys().Tables[0];
            treeview.Nodes.Clear();
            DataRow[] rowList = datatable.Select("ParentID='-1'");
            if (rowList.Length <= 0) return;
            TreeNode rootNode = new TreeNode();
            rootNode.Text = rowList[0]["Desn"].ToString();
            rootNode.Value = rowList[0]["CategoryID"].ToString();
            rootNode.Expanded = isExpanded;
            rootNode.Selected = true;
            treeview.Nodes.Add(rootNode);//添加根节点到TreeView
            CreateChildNode(rootNode, datatable, isExpanded, SelectedData);//调用下面的成员函数,创建其他节点
        }
        private void CreateChildNode(TreeNode parentNode, DataTable datatable, bool isExpanded, string SelectedData)//创建其他节点
        {
            DataRow[] rowList =  datatable.Select("ParentID='" + parentNode.Value + "'", "OrderBy");
            foreach (DataRow row in rowList)
            {
                TreeNode node = new TreeNode();
                node.Text = row["Desn"].ToString();
                node.Value = row["CategoryID"].ToString();
                node.Expanded = isExpanded;
                if (node.Value == SelectedData)
                {
                    node.Selected = true;
                }
                parentNode.ChildNodes.Add(node);//添加子节点到父节点
                CreateChildNode(node, datatable, isExpanded, SelectedData);//递归,创建子节点
            }
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                BindCategoryTreeView(myTreeView, true, ""); 
            }
        }
    }它那节点都已经有脚本了,我怎么可以自己写呢,初学者请教
      

  2.   

    是不是我在哪得罪了大家,得罪了CSDN,得罪了尊贵的程序员