我正在使用jstree插件,我需要json格式,它是內部對象。Json對象內部對象通過asp.net c#從sql服務器
這是我的輸出:
[{"id":"1","text":"Document Management","parent":"#","icon":"fa fa-table","selected":1}
,{"id":"2","text":"Document List","parent":"1","icon":"fa fa-list","selected":1}
,{"id":"7","text":"Hazard","parent":"#","icon":"fa fa-file-text","selected":1}]
這正是我需要的:
[{"id":"1","text":"Document Management","parent":"#","icon":"fa fa-table",state: { opened: true, selected: true }}}
,{"id":"2","text":"Document List","parent":"1","icon":"fa fa-list",state: { opened: true, selected: true }}}
,{"id":"7","text":"Hazard","parent":"#","icon":"fa fa-file-text",state: { opened: true, selected: true }}}]
,這些都是它創建串行化JSON和TreeView我的C#和js代碼; C#
[WebMethod]
public static string Menu()
{
ClassSystemAccessPolicy classDocumentPolicy = new ClassSystemAccessPolicy();
DataTable dt = new DataTable();
dt = classDocumentPolicy.Permission_Load().Tables[0];
System.Web.Script.Serialization.JavaScriptSerializer serializer = new System.Web.Script.Serialization.JavaScriptSerializer();
List<Dictionary<string, object>> rows = new List<Dictionary<string, object>>();
Dictionary<string, object> row;
foreach (DataRow dr in dt.Rows)
{
row = new Dictionary<string, object>();
foreach (DataColumn col in dt.Columns)
{
row.Add(col.ColumnName, dr[col]);
}
rows.Add(row);
}
return serializer.Serialize(rows);
}
JS
var MenuTree = function() {
$.ajax({
type: "POST",
url: "Permission.aspx/Menu",
contentType: "application/json",
dataType: "json",
success: function (data) {
var menu$json = JSON.parse(data.d);
$('#tree_menu').jstree({
'plugins': ["wholerow", "checkbox", "types"],
'core': {
"themes": {
"responsive": false
},
'data': menu$json
}
});
console.log(menu$json)
},
error: function() {
console.log('err')
}
});
我怎樣才能像連載state: { selected: true }
?
爲什麼在世界上確實有.NET「d」返回JSON作爲隨機父節點? – mmcrae