.Net MVC 动态生成LayUI tree
.Net MVC 动态生成LayUI tree
最近在做项目的过程中需要用到Tree插件,所以找了一堆Tree发现LayUI的Tree样式比较好看,所以开始搞!
1.Layui部分
1.1 首先引用文件是必不可少的:(依赖于Jquery)
<link type="text/css" rel="Stylesheet" href="~/Content/js/plugins/layui-v2.5.4/layui-v2.5.4/layui/css/layui.css" />
<script type="text/javascript" src="~/Content/js/plugins/layui-v2.5.4/layui-v2.5.4/layui/layui.js"></script>
1.2 Js部分
//这里我用的是Ajax 动态加载
这里有个坑是 ajax 接收到的数据需要用 JSON.parse(result) 不然渲染不上去 会出现 这样的情况
function SetTree() {
layui.use('tree', function () {//初始化Tree
var tree = layui.tree;
$.ajax({
type: "POST",
url: "/CmdSite/GetTreeEntity",
data: {},
success: function (result) {
var inst1 = tree.render({
elem: '#menuTree',
id: 'tree',
data: JSON.parse(result),
isJump: true,//以下配置项参考Layui Tree 官方文档
showLine: true,
onlyIconControl: true,
accordion:false,
click: function (obj) {
var data = JSON.stringify(obj.data);//这里是点击获得数据
var jsonData = JSON.parse(data);
}
});
},
error: function (e) {
console.log(e.status);
console.log(e.responseText);
}
});
});
}
1.3 Html部分
<div id="menuTree" class="demo-tree-more"></div>
这就很省事了!
2. .Net部分
2.1 你得有个实体类
//这里面字段最好对应文档里面的
public class treeEntity
{
/// <summary>
/// 主键ID
/// </summary>
public int id { get; set; }
/// <summary>
/// 父ID
/// </summary>
public string pid { get; set; }
/// <summary>
/// 名称
/// </summary>
public string title { get; set; }
/// <summary>
/// 图标
/// </summary>
public string icon { get; set; }
/// <summary>
/// 链接
/// </summary>
public string url { get; set; }
/// <summary>
/// 排序
/// </summary>
public string sort { get; set; }
/// <summary>
/// 是否展开
/// </summary>
public bool spread { get;set;}
/// <summary>
/// 子节点
/// </summary>
public List<treeEntity> children { get; set; } }
2.2 遍历拼接
/// <summary>
/// 获得Tree实体(我只做了二级的 有需要的可以自己改成递归)
/// </summary>
/// <returns></returns>
public static string GetTreeEntityJson()
{
var CategoryList = Dao.BLL.MenuCategory.QueryListByFMcid();
var menuList = new List<treeEntity>();
foreach (var item in CategoryList)
{
treeEntity tree = new treeEntity
{
icon = item.icon,
id = item.mcid,
title = item.name,
sort = item.sort.ToString(),
pid = "",
url = "",
spread=true,
};
var menuEntityList = Dao.BLL.Menu.QueryListByMcid(item.mcid);
var childrenList = new List<treeEntity>();
foreach (var ChildItem in menuEntityList)
{
treeEntity ChindrenTree = new treeEntity
{
icon = "fa fa-diamond",
id = (int)ChildItem.menu,
title = ChildItem.name,
sort = ChildItem.sort.ToString(),
pid = ChildItem.mcid.ToString(),
url = "",
children=null,
spread = true,
};
childrenList.Add(ChindrenTree);
}
tree.children = childrenList;
menuList.Add(tree);
}
var menuJson = Newtonsoft.Json.JsonConvert.SerializeObject(menuList);
return menuJson;
2.3 返回Json
public string GetTreeEntity()
{
return JQLY.Helper.MenuHelper.GetTreeEntityJson();
}
这样就搞定了!
LayUI地址:https://www.layui.com
.Net MVC 动态生成LayUI tree的更多相关文章
- .Net Mvc 返回Json,动态生成EasyUI Tree
最近做一个项目,开始接触EasyUI,感觉很强大,很适合我这种对前台不是很感冒的人.在学习Tree的过程中,感觉网上的资料挺乱的,很多只是把EasyUI API 抄了一遍.现在把最近这段时间的学到的, ...
- MVC动态生成的表单:表单元素比较多 你就这样写
MVC动态生成的表单:表单元素比较多 你就这样写: public ActionResult ShoudaanActionResult(FormCollection from,T_UserM user) ...
- 从数据库读取数据并动态生成easyui tree构结
一. 数据库表结构 二.从后台读取数据库生成easyui tree结构的树 1.TreeNode树结点类(每个结点都包含easyui tree 的基本属性信息) import java.io.Seri ...
- ASP.NET MVC动态生成网站菜单及子菜单
在开发ASP.NET MVC网站时,Insus.NET想实现动态产生网站的主菜单及子菜单. 你需要在网站管理后台管理此2张表(Menu,SubMenu)的信息,添加,删除,编辑,更新等. Sequen ...
- MVC动态生成表单
1*书写方式 一.using语句可以不写结束标记,自动加上 服务端 客户端 默认提交当前控制器和操作方法 二.开始与结束代码都写 服务端 客户端 三.一些常用的重载方法 (1)要提交的控制器,和操作方 ...
- mvc动态生成a标签,多个属性,多个querystring
1*服务端 客户端 跳转的url 2*服务端 客户端 跳转的url 3*服务端 客户端 跳转的url 4*服务端 客户端 跳转的url
- PHP+Mysql+easyui点击左侧tree菜单对应表名右侧动态生成datagrid加载表单数据(二)
关于tree菜单生成,参考我的另一篇博文地址tree 菜单 实现功能:点击左侧tree菜单中的table,右侧通过datagrid加载出该表对用的所有数据 难点:获取该表的所有列名,动态生成datag ...
- 如何用asp.net MVC框架、highChart库从sql server数据库获取数据动态生成柱状图
如何用asp.net MVC框架.highChart库从sql server数据库获取数据动态生成柱状图?效果大概是这样的,如图: 请问大侠这个这么实现呢?
- C# 动态生成word文档 [C#学习笔记3]关于Main(string[ ] args)中args命令行参数 实现DataTables搜索框查询结果高亮显示 二维码神器QRCoder Asp.net MVC 中 CodeFirst 开发模式实例
C# 动态生成word文档 本文以一个简单的小例子,简述利用C#语言开发word表格相关的知识,仅供学习分享使用,如有不足之处,还请指正. 在工程中引用word的动态库 在项目中,点击项目名称右键-- ...
随机推荐
- 32个Python爬虫项目让你一次吃到撑
整理了32个Python爬虫项目.整理的原因是,爬虫入门简单快速,也非常适合新入门的小伙伴培养信心.所有链接指向GitHub,祝大家玩的愉快~O(∩_∩)O WechatSogou [1]- 微信公众 ...
- HTML连载10-details标签&summary标签&marquee标签
1.详情(details)与概要(summary)标签 (1)作用:我们希望用尽可能少的空间来表达更多的信息,利用summary标签来描述概要信息,用details标签来描述详情信息 (2)格式: ...
- Centos 7上安装Python3.x(单版本)
Centos7默认安装的是2.7,这里选择安装使用Python3.6.3 安装Python3.6.3 1.安装python3 需要的依赖包 yum install -y openssl-devel b ...
- 01 Django基础
目录 一.什么是web框架? 框架,即framework,特指为解决一个开放性问题而设计的具有一定约束性的支撑结构,使用框架可以帮你快速开发特定的系统,简单地说,就是你用别人搭建好的舞台来做表演. 对 ...
- 美好生活从java开始
小编将会在接下来的日子里不断更新.分享一些IT方面的技术,以及自己的一些心得体会,希望大家能在我这有所收获.有所成长,那么我们就从java开始. 我们要想学习一样东西并且学好它,首先我们要弄清楚我们将 ...
- Sentinel2A影像监测家乡油菜长势!!
首先当然得为我的家乡打一个广告啊,湖南省衡南县宝盖镇双河口村,非常有名的油菜花种植基地,从下面的图就可以看出来,欢迎各位童鞋前往观光旅游,家乡人民非常nice,非常热情.... 我的老家就住在双河口村 ...
- ASP.NET MVC/Core表单提交后台模型二级属性验证问题
起因 这个是网友在官网论坛的提问:https://fineui.com/bbs/forum.php?mod=viewthread&tid=22237 重新问题 本着务实求真的态度,我们先来复现 ...
- net开发框架never
[一] 摘要 never是纯c#语言开发的一个框架,同时可在netcore下运行. 该框架github地址:https://github.com/shelldudu/never 同时,配合never_ ...
- 【简单脚本】Linux查看配置信息
命令比较多,统一整合了一下: 1.新建文件touch getComputerConf.sh 2.vim getComputerConf.sh 3.按i键插入,右键粘贴如下内容: #!/bin/sh e ...
- CI框架注意
1.在ci框架中,如果想继承自己写的控制器,从而不继承CI_Controller,可以在application/core中定义控制器,从而就可以在controllers中的控制器继承. 2.在ci框架 ...
