ztree 后台拼接Json

前台页面:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Ztree.aspx.cs" Inherits="Admin_Ztree" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>无标题页</title>

    <script src="../JS/jquery-1.5.2.min.js" type="text/javascript"></script>

    <script src="../JS/jquery.ztree.core-3.5.min.js" type="text/javascript"></script>

    <link href="../CSS/zTreeStyle/zTreeStyle.css" rel="stylesheet" type="text/css" />
  <script type="text/javascript">
	var zTree;
	var demoIframe;

	var setting = {
		view: {
			dblClickExpand: false,
			showLine: true,
			selectedMulti: false
		},
		data: {
			simpleData: {
				enable:true,
				idKey: "id",
				pIdKey: "pId",
				rootPId: ""
			}
		},
		callback: {
			beforeClick: function(treeId, treeNode) {
				var zTree = $.fn.zTree.getZTreeObj("tree");
//				if (treeNode.isParent) {
//					zTree.expandNode(treeNode);
//					return false;
//				} else {
					demoIframe.attr("src",treeNode.file);
					//return true;
				//}
			}
		}
	};

	var zNodes =<%=getJson() %>;
	$(document).ready(function(){
		var t = $("#tree");
		t = $.fn.zTree.init(t, setting, zNodes);
		demoIframe = $("#testIframe");
		demoIframe.bind("load", loadReady);
		var zTree = $.fn.zTree.getZTreeObj("tree");
		zTree.selectNode(zTree.getNodeByParam("id", 101));

	});

	function loadReady() {
		var bodyH = demoIframe.contents().find("body").get(0).scrollHeight,
		htmlH = demoIframe.contents().find("html").get(0).scrollHeight,
		maxH = Math.max(bodyH, htmlH), minH = Math.min(bodyH, htmlH),
		h = demoIframe.height() >= maxH ? minH:maxH ;
		if (h < 530) h = 530;
		demoIframe.height(h);
	}

 </script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    <table  style=" width:100%">
    <tr>
    <td align="left" style=" width:200px">
    <ul id="tree" class="ztree"></ul>
   </td>
   <td align="left">
    <iframe id="testIframe" frameborder="0" scrolling="no" height="auto" width="100%" ></iframe></td>
     </tr>
    </table>
    </div>
    </form>
</body>
</html>

后台代码:

using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Text;
public partial class Admin_Ztree : System.Web.UI.Page
{
    BLL.Column bcolumn = new BLL.Column();
    protected void Page_Load(object sender, EventArgs e)
    {
        string str = getJson();
    }
    /// <summary>
    /// 拼接json字符
    /// </summary>
    /// <returns></returns>
    DataTable dt1 = new DataTable();
    DataTable dt2 = new DataTable();
    DataTable dt3 = new DataTable();
    public string getJson()
    {
        string name = "";
        string id = "";
        StringBuilder seriesData = new StringBuilder();

        string UrlList = "List.aspx";
        // dt1 = glb.getDS(conncls.getconnstr(), cmdstr); 
        dt1 = bcolumn.getDataList(" ID!=0 ");

        seriesData.Append("[");
        #region
        if (dt1.Rows.Count > 0)
        {
            for (int i = 0; i < dt1.Rows.Count; i++)
            {
                seriesData.Append("{");
                id = dt1.Rows[i]["ID"].ToString();
                seriesData.Append("ID:" + id);
                seriesData.Append(",");
                name = dt1.Rows[i]["ColumnName"].ToString();
                seriesData.Append("name:'" + name + "'");
                seriesData.Append(",");
                //如果数据库中有路径可以加上路径,在这统一跳到List页面

                seriesData.Append("file:'" + UrlList + "?action=one&&ID=" + name + "'");//一般加参数的方式 可以随便加
                seriesData.Append(",");//第一级结束


                dt2 = bcolumn.getDataList(" PreColumnID=" + id);

                #region
                if (dt2.Rows.Count > 0)
                {
                    seriesData.Append("children:[");//第二级开始
                    for (int j = 0; j < dt2.Rows.Count; j++)
                    {
                        seriesData.Append("{");
                        id = dt2.Rows[j]["ID"].ToString();
                        seriesData.Append("ID:" + id);
                        seriesData.Append(",");
                        name = dt2.Rows[j]["ColumnName"].ToString();
                        seriesData.Append("name:'" + name + "'");
                        seriesData.Append(",");
                        //如果数据库中有路径可以加上路径,在这统一跳到List页面

                        seriesData.Append("file:'" + UrlList + "?action=two&&ID=" + name + "'");
                        seriesData.Append(",");

                        dt3 = bcolumn.getDataList(" PreColumnID="+id);
                        #region
                        if (dt3.Rows.Count>0)
                        {
                            seriesData.Append("children:[");
                            for (int k = 0; k < dt3.Rows.Count;k++ )
                            {
                                seriesData.Append("{");
                                id = dt3.Rows[k]["ID"].ToString();
                                seriesData.Append("ID:" + id);
                                seriesData.Append(",");
                                name = dt3.Rows[k]["ColumnName"].ToString();
                                seriesData.Append("name:'" + name + "'");
                                seriesData.Append(",");
                                //如果数据库中有路径可以加上路径,在这统一跳到List页面

                                seriesData.Append("file:'" + UrlList + "?action=three&&ID=" + name + "'");
                                seriesData.Append("}");
                                if(k!=dt3.Rows.Count-1)
                                {
                                    seriesData.Append(",");
                                }
                               
                            }
                            seriesData.Append("]");

                        }
                        #endregion

                        seriesData.Append("}");
                        if (j != dt2.Rows.Count - 1)
                        {
                            seriesData.Append(",");
                        }
                       
                       
                    }
                    seriesData.Append("]");

                }
#endregion

                seriesData.Append("}");
                if (i != dt1.Rows.Count - 1)
                {
                    seriesData.Append(",");
                }  

            }

        }
        #endregion
        seriesData.Append("]");


        return seriesData.ToString();
    }
}

List前台页面:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="List.aspx.cs" Inherits="List" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>无标题页</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    <asp:Literal ID="zgw" runat="server"></asp:Literal>
    </div>
    </form>
</body>
</html>

List后台页面:

using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;

public partial class List : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if(Request.QueryString["action"]!=null)
        {
            if(Request.QueryString["action"]=="one")
            {
                string id=Request.QueryString["ID"].ToString();
                zgw.Text=id;
            }
            if (Request.QueryString["action"] == "two")
            {
                string id = Request.QueryString["ID"].ToString();
                zgw.Text = id;
            }
            if (Request.QueryString["action"] == "three")
            {
                string id = Request.QueryString["ID"].ToString();
                zgw.Text = id;
            }
        }
    }
}

有源码 http://download.csdn.net/detail/zhao8912/6514489
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值