Я использую MVC3, Jquery и jstree, моя цель - отобразить jstree с помощью json_data из контроллера, я исследовал это столько, сколько мог, но не решил, моя проблема в том, как связатьфункция (n / node) для действия в контроллере и способ отправки списка узлов, который я создаю в действии контроллера, обратно в представление и анализ данных, я буду очень признателен за любую помощь или совет.
<script type="text/javascript">
$(function () {
$("#demo1").jstree({
"themes": {
"theme": "default",
"dots": true,
"icons": false,
"url": "/content/themes/default/style.css"
},
"json_data": {
"ajax": {
"async": true,
"url": "/Home/GetItems",
"type": "POST",
"data": function (n) {
return { id: n.attr ? n.attr("id") : 0 }
"dataType": "text json",
"contentType": "application/json charset=utf-8",
"progressive_render": true
}
}
},
"plugins": ["themes", "json_data", "dnd"]
})
});
и вот мой код контроллера с GetItems ():
[AcceptVerbs(HttpVerbs.Post)]
public JsonResult GetItems()
{
int cnt = 0;
var itemRawData = (from ItemInfo itemtInfo in _itemInfoCollection
where itemInfo.Name == "val1" || itemInfo.Name == "val2"
select new itemSpecifications
{
itemName = itemInfo.Name,
itemVersion = itemInfo.MajorRevision.ToString() + "." + itemInfo.MinorRevision.ToString(),
iCount = ItemInfo.Count,
ilist = itemInfo.Values.Cast<subitem>().ToList(),
index = cnt++ });
TreeNode node = new TreeNode();
List<TreeNode> nodelist = new List<TreeNode>();
foreach (var t in itemRawData)
{
nodelist.Add(new TreeNode
{
data = String.Format("{0} {1} ({2})",t.itemName, t.itemVersion, t.iCount.ToString()),
state = "closed",
children = t.ilist
});
}
return Json(nodelist);
}
любой пример или совет будут с благодарностью!