其实功能更其他的递归生成是完全相同的。
首先是在数据库创建一个数据表、需要包含ID与父ID
接下来是创建一个树结构的类,可以按照自己的需求,添加不同的字段
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace yyyu.Common.TreeList
{
//树存储实体
public class TreeObject
{
public string Id { get; set; }
public string Pid { get; set; }
public string Name { get; set; }
public string ShowName { get; set; }
public string url { get; set; }
public List<TreeObject> Children { get; set; }
}
}
然后是读取数据库的数据为dataset或者DATATABLE,这部分的代码就省略了
接下来是逻辑处理方法,
/// <summary>
/// 将DataTable获取到的值转化为树级结构list
/// </summary>
/// <param name="dt"></param>
/// <returns></returns>
private List<yyyu.Common.TreeList.TreeObject> GetPNode(DataSet ds)
{
List<yyyu.Common.TreeList.TreeObject> list = new List<yyyu.Common.TreeList.TreeObject>();
if (ds.Tables[0].Rows.Count > 0)
{
//循环读取
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
if (ds.Tables[0].Rows[i]["Menu_ParentId"].ToString() == "-1")
{

这篇博客介绍了如何利用ACE admin和.NET技术实现无限级菜单栏的动态生成。通过在数据库创建包含ID和父ID的数据表,创建树形结构类,读取数据库数据并进行逻辑处理,最终在后台拼接HTML字符串,通过AJAX在前端展示。
最低0.47元/天 解锁文章
422

被折叠的 条评论
为什么被折叠?



