基于MVC5和Bootstrap的jQuery TreeView树形控件(二)之数据支持json字符串、list集合


Posted in Javascript onAugust 11, 2016

在上篇给大家介绍了基于MVC5和Bootstrap的jQuery TreeView树形控件(一)之数据支持json字符串、list集合。

这种方式其实还是利用list集合的方式传给前台,只不过在前台做了一些小小的变化,而控制器代码也进行了部分的优化,值的一提的是:没用的ajax前后台交互舍弃掉了。

控制器代码如下:

//实例化公共静态字典表集合
public static List<TC_DictionaryInfo> DInfo = new List<TC_DictionaryInfo>();
/// <summary>
/// TreeView视图
/// </summary>
/// <returns></returns>
public ActionResult May(string TypeCode)
{
ViewBag.TypeCode = TypeCode;
List<TC_DictionaryInfo> DInfo = dbll.GetModelList("TypeCode=" + TypeCode);
List<NodeModel> list = GetChildNodes(0, new NodeModel() { }, DInfo).nodes;
ViewBag.data = list;
}
///<summary>
/// GetChildNodes方法,此方法使用递归
/// </summary>
/// <param name="parentId"></param>
/// <returns></returns>
public NodeModel GetChildNodes(int parentId, NodeModel childnodestr, List<TC_DictionaryInfo> DInfo)
{
List<TC_DictionaryInfo> DictionaryList = DInfo.Where(e => Convert.ToInt32(e.ParentId) == parentId).ToList();
for (int i = 0; i < DictionaryList.Count; i++)
{
NodeModel NewNode = new NodeModel();
NewNode.DicId = DictionaryList[i].DicId;
NewNode.text = DictionaryList[i].DICName;
NewNode.ParentId = DictionaryList[i].ParentId;
childnodestr.nodes.Add(NewNode);
GetChildNodes(NewNode.DicId, NewNode, DInfo);
}
return childnodestr;
}

PS:不再是三个方法而简化为两个方法(几乎没什么变动)。

前台代码如下:

var data='@JsonConvert.SerializeObject( ViewBag.data)'.replace(/"/g,'"');
$(function() {
$('#treeview4').treeview({
color: "#428bca",
data: data,
onNodeSelected: function(event, data) {
alert(data);
}
});

PS:这里用到了.NET 下开源的json格式序列号和反序列化的类库

https://www.ibm.com/developerworks/cn/web/wa-lo-json/ ,

下面介绍json序列化和反序列化的两个重要方法:

JsonConvert.SerializeObject(object value)序列化,

它有个重载方法JsonConvert.SerializeObject(object value, params JsonConverter[] converters)。

JsonConvert.DeserializeObject(string value, Type type),反序列化,

它有个重载方法JsonConvert.DeserializeObject(string value, Type type, params JsonConverter[] converters)

这两个方法可以实现基本的序列化和反序列化要求。

js中的replace的作用是将特定的符号替换为自己需要的符号。

而这里replace(/\/g,'"')的作用是把所有的 / 都替换为“(因为页面需要的是json字符串)。

这样的话 我们的页面就可以读取数据进行显示了。BZ还是感觉这种方式更好一点。

以上所述是小编给大家介绍的基于MVC5和Bootstrap的jQuery TreeView树形控件(二)之数据支持json字符串、list集合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
JavaScript随机排序(随即出牌)
Sep 17 Javascript
jQuery中创建实例与原型继承揭秘
Dec 21 Javascript
JSON无限折叠菜单编写实例
Dec 16 Javascript
使用jQuery判断IE浏览器版本的代码
Jun 14 Javascript
javascript执行环境及作用域详解
May 05 Javascript
jQuery和CSS仿京东仿淘宝列表导航菜单
Jan 04 Javascript
node通过npm写一个cli命令行工具
Oct 12 Javascript
在vue中使用jointjs的方法
Mar 24 Javascript
对vue2.0中.vue文件页面跳转之.$router.push的用法详解
Aug 24 Javascript
基于layui实现高级搜索(筛选)功能
Jul 26 Javascript
Vue 组件的挂载与父子组件的传值实例
Sep 02 Javascript
深入理解Vue的数据响应式
May 15 Vue.js
基于MVC5和Bootstrap的jQuery TreeView树形控件(一)之数据支持json字符串、list集合
Aug 11 #Javascript
jQuery的图片轮播插件PgwSlideshow使用详解
Aug 11 #Javascript
jQuery 翻页组件yunm.pager.js实现div局部刷新的思路
Aug 11 #Javascript
jQuery多个版本和其他js库冲突的解决方法
Aug 11 #Javascript
JS获取字符串实际长度(包含汉字)的简单方法
Aug 11 #Javascript
JavaScript性能优化之函数节流(throttle)与函数去抖(debounce)
Aug 11 #Javascript
JavaScript性能优化总结之加载与执行
Aug 11 #Javascript
You might like
一个简单的域名注册情况查询程序
2006/10/09 PHP
生成php程序的php代码
2008/04/07 PHP
PHP在字符串中查找指定字符串并删除的代码
2008/10/02 PHP
php学习之数据类型之间的转换代码
2011/05/29 PHP
PHPWind与Discuz截取字符函数substrs与cutstr性能比较
2011/12/05 PHP
PHP和javascript常用正则表达式及用法实例
2014/07/01 PHP
四个常见html网页乱码问题及解决办法
2015/09/08 PHP
php PDO实现的事务回滚示例
2017/03/23 PHP
用javascript实现的激活输入框后隐藏初始内容
2007/06/29 Javascript
Javascript 继承机制实例
2009/08/12 Javascript
js中arguments的用法(实例讲解)
2013/11/30 Javascript
BootStrop前端框架入门教程详解
2016/12/25 Javascript
TypeScript入门-基本数据类型
2017/03/28 Javascript
如何使用vuejs实现更好的Form validation?
2017/04/07 Javascript
IntelliJ IDEA 安装vue开发插件的方法
2017/11/21 Javascript
关于vue-router的那些事儿
2018/05/23 Javascript
Node.js log4js日志管理详解
2018/07/31 Javascript
layui弹出层按钮提交iframe表单的方法
2018/08/20 Javascript
jquery获取input输入框中的值
2019/11/13 jQuery
[01:33:14]LGD vs VP Supermajor 败者组决赛 BO3 第二场 6.10
2018/07/04 DOTA
在Python中使用poplib模块收取邮件的教程
2015/04/29 Python
详解Python中的正则表达式
2018/07/08 Python
python使用Matplotlib改变坐标轴的默认位置
2019/10/18 Python
Python小白不正确的使用类变量实例
2020/05/29 Python
浅谈keras2 predict和fit_generator的坑
2020/06/17 Python
悬挂训练绳:TRX
2017/12/14 全球购物
斯凯奇新西兰官网:SKECHERS新西兰
2018/02/22 全球购物
CheapTickets香港机票预订网站:CheapTickets.hk
2019/06/26 全球购物
自荐信结尾
2013/10/27 职场文书
小学毕业家长寄语
2014/01/19 职场文书
2014年学校党建工作汇报材料
2014/11/02 职场文书
2015年党员个人剖析材料
2014/12/18 职场文书
大学生国家助学金感谢信
2015/01/23 职场文书
2015年食品安全宣传周活动总结
2015/07/09 职场文书
2015教师个人德育工作总结
2015/07/22 职场文书
go goth封装第三方认证库示例详解
2022/08/14 Golang