zoukankan      html  css  js  c++  java
  • 【一】zTree 同步加载(第一个例子)

    C#

     zTree.cs


    using System;
    using System.Collections.Generic;
    using System.Data;
    using System.Linq;
    using System.Text;
    using System.Web;


    /// <summary>
    ///zTree 的摘要说明
    /// </summary>
    public class zTree
    {
        #region 构造函数
        public zTree()
        {
            //
            
    //TODO: 在此处添加构造函数逻辑
            
    //
        }
        #endregion


        public string GetModule()
        {
            string sql = "SELECT m.ID, m.Name, m.ParentID, m.Url, m.Ico FROM Module m ORDER BY m.Level, m.[Index]";
            DataTable dt = Common.GetTable(sql);
            string treeJson = DtToJson(dt, "ParentID""0""ID""Name").Substring(12);
            return treeJson;
        }
        //json处理


        public static string DtToJson(DataTable dt, string pField, string pValue, string kField, string TextField)
        {
            StringBuilder sb = new StringBuilder();
            string filter = String.Format(" {0}='{1}' ", pField, pValue); //获取顶级目录.
            DataRow[] drs = dt.Select(filter);
            if (drs.Length < 1)
                return "";
            sb.Append(",\"children\":["); 
            foreach (DataRow dr in drs)
            {
                string pcv = dr[kField].ToString();
                sb.Append("{");
                sb.AppendFormat("\"name\":\"{0}\",", dr[TextField].ToString());
                sb.AppendFormat("\"id\":\"{0}\",", dr[kField].ToString());
                sb.AppendFormat("\"pId\":\"{0}\",", dr[kField].ToString());
                sb.AppendFormat("\"url\":\"{0}\",""http://www.baidu.com");
                sb.AppendFormat("\"icon\":\"{0}\",""");
                sb.AppendFormat("\"open\":\"{0}\","true);
                sb.AppendFormat("\"checked\":\"{0}\""false);
         
                sb.Append(DtToJson(dt, pField, pcv, kField, TextField).TrimEnd(','));
                sb.Append("},");
            }
            if (sb.ToString().EndsWith(","))
            {
                sb.Remove(sb.Length - 11);
            }
            sb.Append("]");
            return sb.ToString();
        }
    }

     Common.cs

    using System;
    using System.Collections.Generic;
    using System.Data;
    using System.Data.OleDb;
    using System.Linq;
    using System.Web;

    /// <summary>
    ///Class1 的摘要说明
    /// </summary>
    public class Common
    {
        public Common()
        {
            //
            
    //TODO: 在此处添加构造函数逻辑
            
    //
        }

        public static DataTable GetTable(string sql)
        {
            string strConn = @"Provider=SQLOLEDB;Data Source=127.0.0.1\SQLEXPRESS;Initial Catalog=a;User Id=sa;Password=123456;";
            DataSet ds = new DataSet();
            DataTable dt = new DataTable();
            using (OleDbConnection conn = new OleDbConnection(strConn))
            {
                if (conn.State != ConnectionState.Open)
                    conn.Open();
                OleDbCommand comm = new OleDbCommand(sql, conn);
                OleDbDataAdapter da = new OleDbDataAdapter(comm);
                da.Fill(ds);
                if (conn.State != ConnectionState.Closed)
                    conn.Close();
            }
            dt = ds.Tables[0];
            return dt;
        }
    }

     Handler.ashx

    <%@ WebHandler Language="C#" Class="Handler" %>

    using System;
    using System.Web;

    public class Handler : IHttpHandler {
        
        public void ProcessRequest (HttpContext context) {
            context.Response.ContentType = "text/plain";
            string method = context.Request["action"];
            switch (method)
            {
                case "GetModule":
                    {
                        string a = context.Request.Params["id"];//参数为id
                        zTree zTree = new zTree();

                        context.Response.Write(zTree.GetModule());
                        break;
                    }
                default:
                    break;
            }
        }
     
        public bool IsReusable {
            get {
                return false;
            }
        }

    }

     aspx

       <ul id="treeDemo" class="ztree"></ul>

     js


        var setting = {
            data: {
                simpleData: {
                    enable: true
                }
            }
        };
         
        function createTree () {
            var zNodes;
            $.ajax({
                url: 'Handler.ashx?action=GetModule'//url  action是方法的名称
                data: { id: "11" },
                type: 'POST',
                dataType: "text"//可以是text,如果用text,返回的结果为字符串;如果需要json格式的,可是设置为json
                ContentType: "application/json; charset=utf-8",
                success: function(data) {
                    zNodes = data;

                    $.fn.zTree.init($("#treeDemo"), setting, eval('(' + zNodes + ')'));

                },
                error: function(msg) {
                    alert("失败");
                }
            });
        }

        $(document).ready(function() {
            createTree();
        });
  • 相关阅读:
    c#无边框窗体移动 屏蔽双击最大化
    怎么样让代码都带有注释?
    权限设置相关,利用Microsoft.Win32.Security
    计算几何常用算法概览[转]
    VS 常见快捷键
    关于读取txt文件的分段问题
    ajax 常用方法
    文件以附件形式下载的方法
    半角和全角互换
    在ubuntu 中安装 jsdoc
  • 原文地址:https://www.cnblogs.com/puke/p/2628596.html
Copyright © 2011-2022 走看看