ASP.NET TreeView读取数据库实例

 更新时间:2013年11月29日 15:57:15   作者:  
这篇文章主要介绍了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;
        }
    }
}

相关文章

  • asp.net结合aspnetpager使用SQL2005的存储过程分页

    asp.net结合aspnetpager使用SQL2005的存储过程分页

    项目中用到了,同事阿春写了例子,并在实际项目中使用了,记录下。感谢春哥的无私奉献。
    2009-07-07
  • 使用dotnet-dump 查找 .net core 3.0 占用CPU 100%的原因解析

    使用dotnet-dump 查找 .net core 3.0 占用CPU 100%的原因解析

    这篇文章主要介绍了使用dotnet-dump 查找 .net core 3.0 占用CPU 100%的原因,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-06-06
  • ASP.Net下载大文件的实现方法

    ASP.Net下载大文件的实现方法

    这篇文章主要介绍了ASP.Net下载大文件的实现方法,较为详细的分析了实现大文件下载的思路及具体注意事项,需要的朋友可以参考下
    2015-01-01
  • Asp.Net MVC4通过id更新表单内容的思路详解

    Asp.Net MVC4通过id更新表单内容的思路详解

    一个表单一旦创建完,其中大部分的字段便不可再编辑。只能编辑其中部分字段。下面通过本文给大家分享Asp.Net MVC4通过id更新表单内容的思路详解,需要的朋友参考下吧
    2017-07-07
  • Entity Framework Core基于数据模型创建数据库

    Entity Framework Core基于数据模型创建数据库

    这篇文章介绍了Entity Framework Core基于数据模型创建数据库的方法,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-04-04
  • asp.net 处理F5刷新页面重复提交页面的一个思路

    asp.net 处理F5刷新页面重复提交页面的一个思路

    当提交完一个页面后,如果我们再次点击F5刷新该页面的话,会弹出一个提示,提示我们如果继续,则会重新发送提交我们刚才提交的内容,要是类似付款或一次性的操作,我们不应该这样操作,否则会造成重复提交的问题。
    2010-02-02
  • ASP.net(C#)实现简易聊天室功能

    ASP.net(C#)实现简易聊天室功能

    这篇文章主要为大家详细介绍了ASP.net实现简易聊天室功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-02-02
  • 基于.net core微服务的另一种实现方法

    基于.net core微服务的另一种实现方法

    这篇文章主要给大家介绍了基于.net core微服务的另一种实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-07-07
  • asp.net 实现下拉框只读功能

    asp.net 实现下拉框只读功能

    下拉框只读此功能并不是默认的,需要手动操作下,本文介绍javascript与asp.net实现下拉框只读功能,需要了解的朋友可以参考一下
    2012-12-12
  • asp.net导出excel的简单方法实例

    asp.net导出excel的简单方法实例

    这篇文章主要介绍了asp.net导出excel的简单方法实例,需要的朋友可以参考下
    2014-02-02

最新评论