MVC 3、jQuery、jquery.treeview.js、およびjquery.treeview.async.jsを使用して、非同期的にツリービューを読み込んで作成します。 PartTypesがトップレベルであり、次にPartが第2レベルである2レベルのツリービューです。私は、次のTreeViewNodeクラスを有するMVC 3で複数レベルの読み込みを行う非同期JQuery TreeViewが動作しない
public class TreeViewNode
{
public TreeViewNode[] children { get; set; }
public string classes { get; set; }
public bool expanded { get; set; }
public bool hasChildren { get; set; }
public string id { get; set; }
public string text { get; set; }
}
コントローラである
public ActionResult PartTypes(string root)
{
var nodes = new List<TreeViewNode>();
if(root == "source")
{
var partTypes = ris.PartTypes.ToList().OrderBy(pt => pt.Name);
foreach (var partType in partTypes)
{
nodes.Add(new TreeViewNode {
text = partType.Name,
id = partType.Name,
hasChildren = true
});
}
}
else
{
var parts = ris.Parts.Where(p => p.PartType.Name == root).ToList();
foreach (var part in parts)
{
nodes.Add(new TreeViewNode {
text = part.SerialNumber,
id = part.SerialNumber
});
}
}
return Json(nodes);
}
ローディングのためのjQueryコードは
$(document).ready(function() {
$("#navigation").treeview({
url: '/Parts/Part/PartTypes/',
ajax: {
type: 'post'
}
});
}
);
あり、HTMLは単に
<ul id="navigation" class="treeview"/>
場合でありますページはすべてのPをロードしますアートタイプはロードされ、ロードされます。個々のパーツタイプのリンクをクリックしても部品はロードされません。折りたたみをロードする部品の種類を取得し、部品の種類の1つを展開するときに部品名をロードするにはどうすればよいですか。
私はそれがより良いドキュメントを持っていたし、私はそれが動作するように得ることができるようjstreeと一緒に行くことになりました。 – PlTaylor