<%@ WebHandler Language="C#" Class="getChildMenu" %> using System; using System.Web; using System.Collections; using System.Data; public class getChildMenu : IHttpHandler { public void ProcessRequest (HttpContext context) { string userid = context.Request.QueryString["userid"].ToString(); string menuid = context.Request.QueryString["menuid"].ToString(); string tag = context.Request.QueryString["tag"].ToString(); ArrayList result = getMenu(menuid, userid, tag); context.Response.Write(Newtonsoft.Json.JsonConvert.SerializeObject(result)); } private ArrayList getMenu(string menuid, string userid,string tag) { ArrayList result = new ArrayList(); string sql = "SELECT ID, CXID, ZDYCX, CaiDanXiangMing, Target, nodeType FROM V_XTCDB WHERE (ID IN (SELECT c.ID FROM COM_YHQXB AS a INNER JOIN COM_YHGWDZB AS b ON a.GangWei_ID = b.GangWei_ID INNER JOIN" + " COM_XTCDB AS c ON a.CaiDan_ID = c.ID WHERE (b.RenYuan_ID = " + userid + ") AND (c.FuCaiDanID = " + menuid + ") AND (c.XianShi = 1))) ORDER BY CaiDanCiXu"; DbOperate dbo = new DbOperate(); DataTable dt = dbo.executeAdapter(sql); foreach (DataRow dr in dt.Rows) { Hashtable ht = new Hashtable(); if (tag == "0") { ht.Add("first", true); } else { ht.Add("first", false); } ht.Add("name", dr["CaiDanXiangMing"].ToString()); ht.Add("menuid", dr["id"].ToString()); if (dr["nodetype"].ToString() == "1") { //ht.Add("child", getMenu(dr[0].ToString(), userid, tag)); ht.Add("parent", true); } else { ht.Add("parent", false); } result.Add(ht); } return result; } public bool IsReusable { get { return false; } } }