前台js:
var treeNodes;
$.ajax({
async: false,
cache: false,
type: 'POST',
contentType: "application/json",
url: "/MsgTypeTemItem/GetAllStr?temId=" + $("#temId").val(), //请求的action路径
error: function () {//请求失败处理函数
alert('请求失败');
},
success: function (data) { //请求成功后处理函数
data = "[" + data + "]";
treeNodes = eval(data);//格式化(object)数据
}
});
$.fn.zTree.init($("#treeDemo"), setting, treeNodes);
后台Controller:
public string GetAllStr()
{
string temId = Request.QueryString["temId"];
List<MsgTypeTemItem> allList = msgTypeItemService.GetAll();
string querySql = "select * from MessageTempletItem where TempletId='" + temId + "'";
DataTable dt = sqlHelper.GetDataTable(querySql);
string result = string.Empty;
foreach (DataRow dr in dt.Select("FatherId='0'"))
{
result += AppendJson(dr, dt);
}
int index = result.LastIndexOf("\r\n");
if (result.Length > )
result = result.Substring(, index - );
return result;
}
private static string AppendJson(DataRow dr, DataTable dtAll)
{
string parentNode = string.Empty;
string isTrue = "false";
parentNode = "{id:\'{id}\', pId:\'{pId}\', name:\'{name}\', open:" + isTrue + ", drag:true" + "},\r\n";
parentNode = parentNode.Replace("{id}", dr["ItemId"].ToString()).Replace("{pId}", dr["FatherId"].ToString()).Replace("{name}", dr["ItemContent"].ToString());
DataRow[] rows = dtAll.Select("FatherId='" + dr["ItemId"].ToString().Trim() + "'");
if(rows.Length!=)
{
foreach (DataRow row in rows)
{
parentNode += AppendJson(row, dtAll);
}
}
return parentNode;
}
注意:①.要后台数据进行eval(object化)--eval
eval前:[{id:'y1',pId:'',name:'y1',drag:true},{id:'y11',pId:'y1',name:'y11',drag:true},{id:'y2',pId:'',name:'y2',drag:true}]
eval后:[object Object],[object Object],[object Object]
相关知识点①:eval
var code1='"a" + 2'; //表达式 
var code2='{a:2}'; //语句 
var code3=[{a:1,b:2},{a:2,b:3}];
alert(eval(code1)); //->'a2' 
alert(eval(code2)); //->undefined 
alert(eval('(' + code2 + ')')); //->[object Object] 
alert(eval(code3));//->[object Object],[object Object] 

最新文章

  1. 【腾讯优测干货分享】越用越卡为哪般——如何降低App的待机内存(一)
  2. 【JS】falsy与truthy
  3. js观察者模式学习
  4. select()函数以及FD_ZERO、FD_SET、FD_CLR、FD_ISSET
  5. 重学STM32---(四)
  6. [django]自定义全局context
  7. ps扩大、缩小选区
  8. 解决每次升级Xcode后三方插件失效问题
  9. overflow第一次觉得你有点可恶
  10. kafka消息中间件及java示例
  11. 设置自己Eclipse代码风格(内部)
  12. perl的正则表达式
  13. mysql 架构篇系列 2 复制架构一主一从搭建(异步复制)
  14. 使用ss命令对tcp连接数和状态的监控性能优化
  15. boost asio 学习(九) boost::asio 网络封装
  16. 项目Alpha冲刺(团队2/10)
  17. 03 Zabbix常用的术语
  18. 6.Python爬虫入门六之Cookie的使用
  19. 更换Homebrew为中科大源
  20. Restaurant &amp; Cooking Starter Kit v1.2.1 学习

热门文章

  1. Codeforces 14D Two Paths 树的直径
  2. nginx proxy_pass 里的”/”
  3. Weblogic配置故障转移
  4. JSP 连接数据库JDBC有一定的了解
  5. java数据结构-Vector
  6. python write file
  7. 自定义cginc文件
  8. lumen手记:自定义Validate表单验证
  9. Linux 随手记(文件操作)
  10. CentOS升级Python2.6到Python2.7