1
我正在使用MVC3,jquery和jstree,我的目標是在控制器的json_data的幫助下顯示jstree,我儘可能多地研究了這個,但沒有解決它,我的問題是如何將函數(n /節點)與控制器中的動作相關聯,以及如何將在控制器操作中創建的節點列表發送回視圖並解析數據,我將非常感謝任何幫助或建議。在控制器中創建jstree jquery_ajax
<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);
}
任何例子或建議將不勝感激!