基于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 DOM事件模型的两件事
Jul 22 Javascript
离开页面时检测表单元素是否被修改,提示保存的js代码
Aug 25 Javascript
javascript判断ie浏览器6/7版本加载不同样式表的实现代码
Dec 26 Javascript
简约JS日历控件 实例代码
Jul 12 Javascript
简单的Jquery遮罩层代码实例
Nov 14 Javascript
jQuery简单实现遍历数组的方法
Apr 14 Javascript
jQuery实现鼠标悬停显示提示信息窗口的方法
Apr 30 Javascript
通过js修改input、select默认字体颜色
Apr 19 Javascript
AngularJs 禁止模板缓存的方法
Nov 28 Javascript
利用JavaScript的Map提升性能的方法详解
Aug 14 Javascript
基于javascript实现贪吃蛇经典小游戏
Apr 10 Javascript
基于Vue中的父子传值问题解决
Jul 27 Javascript
基于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
用PHP实现递归循环每一个目录
2010/08/08 PHP
PHP6 中可能会出现的新特性预览
2014/04/04 PHP
PHP中使用addslashes函数转义的安全性原理分析
2014/11/03 PHP
隐性调用php程序的方法
2015/06/13 PHP
js右键菜单效果代码
2007/07/21 Javascript
WordPress 照片lightbox效果的运用几点
2009/06/22 Javascript
javascript最常用与实用的创建类的代码
2010/08/12 Javascript
CSS鼠标响应事件经过、移动、点击示例介绍
2013/09/04 Javascript
jquery中EasyUI使用技巧小结
2015/02/10 Javascript
Jquery实现动态切换图片的方法
2015/05/18 Javascript
js基于面向对象实现网页TAB选项卡菜单效果代码
2015/09/09 Javascript
javascript实现tab切换特效
2015/11/12 Javascript
关于JSON与JSONP简单总结
2016/08/16 Javascript
纯JS单页面赛车游戏制作代码分享
2017/03/03 Javascript
详解动画插件wow.js的使用方法
2017/09/13 Javascript
VUE长按事件需求详解
2017/10/18 Javascript
详细分析JS函数去抖和节流
2017/12/05 Javascript
axios中cookie跨域及相关配置示例详解
2017/12/20 Javascript
微信小程序实现录音时的麦克风动画效果实例
2019/05/18 Javascript
手把手教你 CKEDITOR 4 扩展插件制作
2019/06/18 Javascript
微信小程序 select 下拉框组件功能
2019/09/09 Javascript
jQuery实现弹出层效果
2019/12/10 jQuery
[09:34]2018DOTA2国际邀请赛寻真——永不放弃的iG
2018/08/14 DOTA
详细解析Python当中的数据类型和变量
2015/04/25 Python
Python3 适合初学者学习的银行账户登录系统实例
2017/08/08 Python
Python3列表内置方法大全及示例代码小结
2019/05/10 Python
python sklearn库实现简单逻辑回归的实例代码
2019/07/01 Python
Tensorflow 1.0之后模型文件、权重数值的读取方式
2020/02/12 Python
Linux文件操作命令都有哪些
2016/07/23 面试题
公司年会演讲稿范文
2014/01/11 职场文书
酒店值班经理的工作职责范本
2014/02/18 职场文书
《大作家的小老师》教学反思
2014/04/16 职场文书
滞留工资返还协议书
2014/10/19 职场文书
Python中itertools库的四个函数介绍
2022/04/06 Python
SpringBoot使用ip2region获取地理位置信息的方法
2022/06/21 Java/Android
如何基于python实现单目三维重建详解
2022/06/25 Python