| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Web;
- using System.Text;
- namespace WebForm.Platform.RoleApp
- {
- /// <summary>
- /// Tree1 的摘要说明
- /// </summary>
- public class Tree1 : IHttpHandler
- {
- public void ProcessRequest(HttpContext context)
- {
- context.Response.ContentType = "text/plain";
- string roleID = context.Request.QueryString["roleid"];
- Guid roleGuid;
- if (!roleID.IsGuid(out roleGuid))
- {
- context.Response.Write("[]");
- return;
- }
- RoadFlow.Platform.RoleApp BRoleApp = new RoadFlow.Platform.RoleApp();
- var appDt = BRoleApp.GetAllDataTableByRoleID(roleGuid);
- if (appDt.Rows.Count == 0)
- {
- context.Response.Write("[]");
- return;
- }
- var root = appDt.Select("ParentID='" + Guid.Empty.ToString() + "'");
- if (root.Length == 0)
- {
- context.Response.Write("[]");
- return;
- }
- var apps = appDt.Select("ParentID='" + root[0]["ID"].ToString() + "'");
- StringBuilder json = new StringBuilder("[", 1000);
- System.Data.DataRow rootDr = root[0];
- json.Append("{");
- json.AppendFormat("\"id\":\"{0}\",", rootDr["ID"]);
- json.AppendFormat("\"title\":\"{0}\",", rootDr["Title"]);
- json.AppendFormat("\"ico\":\"{0}\",", rootDr["Ico"].ToString().IsNullOrEmpty() ? "" : Common.Tools.BaseUrl + rootDr["Ico"].ToString());
- json.AppendFormat("\"link\":\"{0}\",", rootDr["Address"]);
- json.AppendFormat("\"type\":\"{0}\",", "0");
- json.AppendFormat("\"model\":\"{0}\",", rootDr["OpenMode"]);
- json.AppendFormat("\"width\":\"{0}\",", rootDr["Width"]);
- json.AppendFormat("\"height\":\"{0}\",", rootDr["Height"]);
- json.AppendFormat("\"hasChilds\":\"{0}\",", apps.Length > 0 ? "1" : "0");
- json.AppendFormat("\"childs\":[");
- for (int i = 0; i < apps.Length; i++)
- {
- System.Data.DataRow dr = apps[i];
- var childs = appDt.Select("ParentID='" + dr["ID"].ToString() + "'");
- json.Append("{");
- json.AppendFormat("\"id\":\"{0}\",", dr["ID"]);
- json.AppendFormat("\"title\":\"{0}\",", dr["Title"]);
- json.AppendFormat("\"ico\":\"{0}\",", dr["Ico"].ToString().IsNullOrEmpty() ? "" : Common.Tools.BaseUrl + dr["Ico"].ToString());
- json.AppendFormat("\"link\":\"{0}\",", dr["Address"]);
- json.AppendFormat("\"type\":\"{0}\",", "0");
- json.AppendFormat("\"model\":\"{0}\",", dr["OpenMode"]);
- json.AppendFormat("\"width\":\"{0}\",", dr["Width"]);
- json.AppendFormat("\"height\":\"{0}\",", dr["Height"]);
- json.AppendFormat("\"hasChilds\":\"{0}\",", childs.Length > 0 ? "1" : "0");
- json.AppendFormat("\"childs\":[");
- json.Append("]");
- json.Append("}");
- if (i < apps.Length - 1)
- {
- json.Append(",");
- }
- }
- json.Append("]");
- json.Append("}");
- json.Append("]");
- context.Response.Write(json.ToString());
- }
- public bool IsReusable
- {
- get
- {
- return false;
- }
- }
- }
- }
|