thxuaimin

导航

 

 

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

using System;
using System.Web;
using System.Data;
using System.Data.SqlClient;
using System.Text;
public class Handler : IHttpHandler {
    
    string strConn = @"data source=192.168.0.206;initial catalog=XXXX;user id=sa;password=123456";
    public void ProcessRequest (HttpContext context) {
        context.Response.ContentType = "text/json";
      string sb=  FirstAnsyData2();
        context.Response.Write(sb);
    }
 
    public bool IsReusable {
        get {
            return false;
        }
    }

    /// <summary>
    /// 判断当前节点是否还有子节点
    /// </summary>
    /// <param name="ParentId">父节点Id</param>
    /// <returns>bool类型</returns>
    public bool isParentTrue(int ParentId)
    {
        try
        {
            using (SqlConnection conn = new System.Data.SqlClient.SqlConnection(strConn))
            {
                conn.Open();
                string sql = "select * from OrginTree where OrgParent =" + ParentId + "";
                DataTable table = new DataTable();
                SqlDataAdapter dt = new SqlDataAdapter(sql, conn);
                dt.Fill(table);
                return table.Rows.Count >= 1 ? true : false;
            }
        }
        catch (Exception)
        {
            throw;
        }
    }

    public string FirstAnsyData2()
    {
        return GetModuleTreeJson("100");
    }

    /// <summary>
    /// 生成zTree标准json数据源
    /// </summary>
    /// <param name="parent_id">父节点</param>
    /// <returns></returns>
    public string GetModuleTreeJson(string parent_id)
    {
        StringBuilder jsonTree = new StringBuilder();
        string where = string.Format(" and ORgParent={0}", parent_id);
        DataTable ds = getModuleList(where);

        if (ds.Rows.Count > 0)
        {
            jsonTree.Append("[");
            for (int i = 0; i < ds.Rows.Count; i++)
            {
                DataRow dr = ds.Rows[i];
                jsonTree.Append("{\"id\":\"").Append(dr["OrgId"]).Append("\",");
                jsonTree.Append("\"name\":\"").Append(dr["OrgName"]).Append("\",");
                if (isParentTrue(int.Parse(dr["OrgId"].ToString())))
                {
                    jsonTree.Append("\"children\":").Append(GetModuleTreeJson(dr["OrgId"].ToString()));
                }
                else
                {
                    jsonTree.Remove(jsonTree.Length - 1, 1);
                }

                jsonTree.Append("},");
                if (i == (ds.Rows.Count - 1))
                {
                    jsonTree.Remove(jsonTree.Length - 1, 1);
                }
            }
            jsonTree.Append("]");
        }
        else
        {
            jsonTree.Append("\"\"");
        }

        return jsonTree.ToString();
    }
    public DataTable getModuleList(string whe)
    {
        DataTable ds = new System.Data.DataTable();
        try
        {
            using (SqlConnection conn = new SqlConnection(strConn))
            {
                conn.Open();
                string sql = "select * from OrginTree where 1=1 " + whe;// where OrgParent is null";
                SqlDataAdapter dt = new SqlDataAdapter(sql, conn);
                dt.Fill(ds);
                conn.Close();
            }
        }
        catch (Exception)
        {
        }
        return ds;

    }

}

 

posted on 2014-02-12 17:52  thxuaimin  阅读(1127)  评论(0编辑  收藏  举报