ace treeview.php json,jQuery TreeView树形控件之数据支持json字符串、list集合

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

控制器代码如下://实例化公共静态字典表集合

public static List DInfo = new List();

///

/// TreeView视图

///

///

public ActionResult May(string TypeCode)

{

ViewBag.TypeCode = TypeCode;

List DInfo = dbll.GetModelList("TypeCode=" + TypeCode);

List list = GetChildNodes(0, new NodeModel() { }, DInfo).nodes;

ViewBag.data = list;

}

///

/// GetChildNodes方法,此方法使用递归

///

///

///

public NodeModel GetChildNodes(int parentId, NodeModel childnodestr, List DInfo)

{

List 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集合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对PHP中文网网站的支持!

更多jQuery TreeView树形控件之数据支持json字符串、list集合相关文章请关注PHP中文网!

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值