首頁 > php教程 > PHP开发 > jQuery TreeView樹形控制項之資料支援json字串、list集合

jQuery TreeView樹形控制項之資料支援json字串、list集合

高洛峰
發布: 2016-12-28 13:04:16
原創
1967 人瀏覽過

這種方式其實還是利用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=&#39;@JsonConvert.SerializeObject( ViewBag.data)&#39;.replace(/"/g,&#39;"&#39;);
$(function() {
$(&#39;#treeview4&#39;).treeview({
color: "#428bca",
data: data,
onNodeSelected: function(event, data) {
alert(data);
}
});
登入後複製

PS:這裡用到了.NET 下開源的json格式序號和反序列化的類別庫

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

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

JsonConvert.SerializeObject(object value)序列化,

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

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

它有個重載方法JsonConvert.DeserializeObject(string value, Type type, params JsonConverter[] con基本的序列化和反序列化要求。 


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


而這裡replace(//g,'"')的作用是把所有的 / 都替換為「(因為頁面需要的是json字串)。


這樣的話 我們的頁面就可以讀取資料進行顯示了。 BZ還是覺得這種方式比較好一點。

以上所述是小編給大家介紹的基於MVC5和Bootstrap的jQuery TreeView樹形控制(二)之資料支援json字串、list集合,希望對大家有幫助,如果大家有任何疑問請給我留言,小編會及時回覆大家的。在此也非常感謝大家對PHP中文網站的支持!

更多jQuery TreeView樹形控制項之資料支援json字串、list集合相關文章請關注PHP中文網!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門推薦
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板