Diese Methode verwendet tatsächlich immer noch die Listensammlungsmethode, um sie an die Rezeption weiterzuleiten, es wurden jedoch einige kleine Änderungen an der Rezeption vorgenommen und der Controller-Code wurde auch teilweise optimiert. Es ist erwähnenswert, dass es nutzlos ist Die Ajax-Front-End- und Back-End-Interaktion wird aufgegeben.
Der Controller-Code lautet wie folgt:
//实例化公共静态字典表集合 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: Es sind nicht mehr drei Methoden, sondern vereinfacht auf zwei Methoden (fast keine Änderungen).
Der Front-End-Code lautet wie folgt:
var data='@JsonConvert.SerializeObject( ViewBag.data)'.replace(/"/g,'"'); $(function() { $('#treeview4').treeview({ color: "#428bca", data: data, onNodeSelected: function(event, data) { alert(data); } });
PS: Die Open-Source-Seriennummern- und Deserialisierungsklassenbibliothek im JSON-Format unter .NET ist hier verwendet
https://www.ibm.com/developerworks/cn/web/wa-lo-json/,
Im Folgenden wird die JSON-Serialisierung und -Deserialisierung vorgestellt Zwei wichtige Methoden:
JsonConvert.SerializeObject(object value) Serialisierung,
Es verfügt über eine überladene Methode JsonConvert.SerializeObject(object value, params JsonConverter[]-Konverter).
JsonConvert.DeserializeObject(String-Wert, Typtyp), Deserialisierung,
Es verfügt über eine überladene Methode JsonConvert.DeserializeObject(String-Wert, Typtyp, Parameter JsonConverter[]-Konverter)
Diese beiden Methoden können grundlegende Serialisierungs- und Deserialisierungsanforderungen implementieren.
Die Funktion des Ersetzens in js besteht darin, bestimmte Symbole durch die von Ihnen benötigten Symbole zu ersetzen.
Die Funktion von replace(//g,'"') besteht hier darin, alle / durch " zu ersetzen (da die Seite eine JSON-Zeichenfolge erfordert).
In diesem Fall kann unsere Seite die Daten lesen und anzeigen. BZ ist immer noch der Meinung, dass dieser Weg besser ist.
Das Obige ist das vom Herausgeber eingeführte jQuery TreeView-Baumsteuerelement (2). Ich hoffe, es wird Ihnen hilfreich sein Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und ich werde Ihnen rechtzeitig antworten. Ich möchte mich auch bei Ihnen allen für Ihre Unterstützung der chinesischen PHP-Website bedanken!
Weitere jQuery TreeView-Baumkontrolldaten zur Unterstützung von JSON-Strings und Listensammlungen finden Sie auf der chinesischen PHP-Website!