RoadFlow2.1 临时演示

Tree1.ashx.cs 3.0KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Web;
  5. namespace WebForm.Platform.Dictionary
  6. {
  7. /// <summary>
  8. /// Tree1 的摘要说明
  9. /// </summary>
  10. public class Tree1 : IHttpHandler
  11. {
  12. public void ProcessRequest(HttpContext context)
  13. {
  14. context.Response.ContentType = "text/plain";
  15. RoadFlow.Platform.Dictionary BDict = new RoadFlow.Platform.Dictionary();
  16. string rootid = context.Request.QueryString["root"];
  17. bool ischild = "1" == context.Request.QueryString["ischild"];//是否要加载下级节点
  18. Guid rootID = Guid.Empty;
  19. if (!rootid.IsGuid(out rootID))
  20. {
  21. if (!rootid.IsGuid(out rootID))
  22. {
  23. var dict = BDict.GetByCode(rootid);
  24. if (dict != null)
  25. {
  26. rootID = dict.ID;
  27. }
  28. }
  29. }
  30. var root = rootID != Guid.Empty ? BDict.Get(rootID) : BDict.GetRoot();
  31. var rootHasChild = BDict.HasChilds(root.ID);
  32. System.Text.StringBuilder json = new System.Text.StringBuilder("[", 1000);
  33. json.Append("{");
  34. json.AppendFormat("\"id\":\"{0}\",", root.ID);
  35. json.AppendFormat("\"parentID\":\"{0}\",", root.ParentID);
  36. json.AppendFormat("\"title\":\"{0}\",", root.Title);
  37. json.AppendFormat("\"type\":\"{0}\",", rootHasChild ? "0" : "2"); //类型:0根 1父 2子
  38. json.AppendFormat("\"ico\":\"{0}\",", Common.Tools.BaseUrl + "/images/ico/role.gif");
  39. json.AppendFormat("\"hasChilds\":\"{0}\",", rootHasChild ? "1" : "0");
  40. json.Append("\"childs\":[");
  41. var childs = BDict.GetChilds(root.ID);
  42. int i = 0;
  43. int count = childs.Count;
  44. foreach (var child in childs)
  45. {
  46. var hasChild = ischild && BDict.HasChilds(child.ID);
  47. json.Append("{");
  48. json.AppendFormat("\"id\":\"{0}\",", child.ID);
  49. json.AppendFormat("\"parentID\":\"{0}\",", child.ParentID);
  50. json.AppendFormat("\"title\":\"{0}\",", child.Title);
  51. json.AppendFormat("\"type\":\"{0}\",", hasChild ? "1" : "2");
  52. json.AppendFormat("\"ico\":\"{0}\",", "");
  53. json.AppendFormat("\"hasChilds\":\"{0}\",", hasChild ? "1" : "0");
  54. json.Append("\"childs\":[");
  55. json.Append("]");
  56. json.Append("}");
  57. if (i++ < count - 1)
  58. {
  59. json.Append(",");
  60. }
  61. }
  62. json.Append("]");
  63. json.Append("}");
  64. json.Append("]");
  65. context.Response.Write(json.ToString());
  66. }
  67. public bool IsReusable
  68. {
  69. get
  70. {
  71. return false;
  72. }
  73. }
  74. }
  75. }