ASP.NET TreeView读取数据库实例

  前台:

  

复制代码 代码如下:

  <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="TreeView._Default" %>

  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

  <html xmlns="http://www.w3.org/1999/xhtml" >

  <head runat="server">

  <title></title>

  </head>

  <body>

  <form id="form1" runat="server">

  <div>

  <asp:TreeView ID="TreeView1" runat="server" ShowLines="True">

  </asp:TreeView>

  </div>

  </form>

  </body>

  </html>

  后台:

  

复制代码 代码如下:

  using System;

  using System.Collections.Generic;

  using System.Linq;

  using System.Web;

  using System.Web.UI;

  using System.Web.UI.WebControls;

  using System.Data;

  using System.Data.SqlClient;

  using System.Configuration;

  namespace TreeView

  {

  public partial class _Default : System.Web.UI.Page

  {

  public static string st = ConfigurationManager.ConnectionStrings["sql"].ToString();

  private DataTable dts=new DataTable();

  protected void Page_Load(object sender, EventArgs e)

  {

  if (!IsPostBack)

  {

  dts = CreateTable();

  CreateNode();

  }

  }

  public void CreateNode()

  {

  DataRow[] dr = dts.Select("ParentID=0");

  if(dr.Length>0)

  {

  foreach(DataRow drr in dr)

  {

  TreeNode tn = new TreeNode();

  tn.Value = drr["MenuID"].ToString();

  tn.Text = drr["MenuName"].ToString();

  tn.Expanded = false;

  tn.SelectAction = TreeNodeSelectAction.Expand;

  TreeView1.Nodes.Add(tn);

  CreateChild(tn,dts);

  }

  }

  else

  {

  TreeNode t=new TreeNode();

  t.Value="空";

  t.Text="空";

  t.Expanded=false;

  t.SelectAction=TreeNodeSelectAction.Expand;

  TreeView1.Nodes.Add(t);

  }

  }

  public void CreateChild(TreeNode tnn, DataTable dtt)

  {

  DataRow[] dr = dtt.Select("ParentID=" + tnn.Value);

  if (dr.Length > 0)

  {

  foreach (DataRow drw in dr)

  {

  TreeNode ts = new TreeNode();

  ts.Value = drw["MenuID"].ToString();

  ts.Text = drw["MenuName"].ToString();

  ts.SelectAction = TreeNodeSelectAction.Expand;

  ts.Expanded = false;

  tnn.ChildNodes.Add(ts);

  CreateChild(ts, dtt);

  }

  }

  }

  public DataTable CreateTable()

  {

  DataTable d = new DataTable();

  using(SqlConnection sql=new SqlConnection(st))

  {

  SqlCommand sq=new SqlCommand("select * from TreeViewName",sql);

  SqlDataAdapter sda=new SqlDataAdapter();

  sda.SelectCommand = sq;

  sda.Fill(d);

  }

  return d;

  }

  }

  }