国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > JavaScript > 正文

基于MVC5和Bootstrap的jQuery TreeView樹形控件(二)之?dāng)?shù)據(jù)支持json字符串、list集合

2019-11-20 09:15:32
字體:
供稿:網(wǎng)友

在上篇給大家介紹了基于MVC5和Bootstrap的jQuery TreeView樹形控件(一)之?dāng)?shù)據(jù)支持json字符串、list集合

這種方式其實(shí)還是利用list集合的方式傳給前臺(tái),只不過在前臺(tái)做了一些小小的變化,而控制器代碼也進(jìn)行了部分的優(yōu)化,值的一提的是:沒用的ajax前后臺(tái)交互舍棄掉了。

控制器代碼如下:

//實(shí)例化公共靜態(tài)字典表集合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:不再是三個(gè)方法而簡(jiǎn)化為兩個(gè)方法(幾乎沒什么變動(dòng))。

前臺(tái)代碼如下:

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

PS:這里用到了.NET 下開源的json格式序列號(hào)和反序列化的類庫(kù)

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

下面介紹json序列化和反序列化的兩個(gè)重要方法:

JsonConvert.SerializeObject(object value)序列化,

它有個(gè)重載方法JsonConvert.SerializeObject(object value, params JsonConverter[] converters)。

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

它有個(gè)重載方法JsonConvert.DeserializeObject(string value, Type type, params JsonConverter[] converters)

這兩個(gè)方法可以實(shí)現(xiàn)基本的序列化和反序列化要求。

js中的replace的作用是將特定的符號(hào)替換為自己需要的符號(hào)。

而這里replace(///g,'"')的作用是把所有的 / 都替換為“(因?yàn)轫?yè)面需要的是json字符串)。

這樣的話 我們的頁(yè)面就可以讀取數(shù)據(jù)進(jìn)行顯示了。BZ還是感覺這種方式更好一點(diǎn)。

以上所述是小編給大家介紹的基于MVC5和Bootstrap的jQuery TreeView樹形控件(二)之?dāng)?shù)據(jù)支持json字符串、list集合,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)武林網(wǎng)網(wǎng)站的支持!

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 巴彦淖尔市| 巴彦县| 乐亭县| 广宗县| 绥滨县| 金川县| 易门县| 拉孜县| 泗水县| 牙克石市| 东乡族自治县| 凉城县| 阳谷县| 三亚市| 满洲里市| 仁寿县| 临汾市| 蚌埠市| 安福县| 碌曲县| 江门市| 合作市| 南雄市| 佳木斯市| 麻阳| 东海县| 华宁县| 朝阳市| 芒康县| 鹰潭市| 墨玉县| 五华县| 婺源县| 略阳县| 洪湖市| 新源县| 呼图壁县| 湖口县| 怀来县| 白河县| 淄博市|