105 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			C#
		
	
	
	
			
		
		
	
	
			105 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			C#
		
	
	
	
| using System;
 | |
| using System.Collections.Generic;
 | |
| using System.Web;
 | |
| using System.Web.UI;
 | |
| using System.Web.UI.WebControls;
 | |
| using System.Text;
 | |
| using Newtonsoft.Json;
 | |
| using Newtonsoft.Json.Linq;
 | |
| 
 | |
| 
 | |
| namespace FineUIPro.Web
 | |
| {
 | |
|     public partial class ajax : PageBase
 | |
|     {
 | |
|         protected void Page_Load(object sender, EventArgs e)
 | |
|         {
 | |
|             if (!IsPostBack)
 | |
|             {
 | |
|                 LoadData();
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         private void LoadData()
 | |
|         {
 | |
|             string content = ReadFile("~/config/ajax_properties.txt");
 | |
|             Dictionary<string, JObject> allControls = new Dictionary<string, JObject>();
 | |
|             List<string> publicControls = new List<string>();
 | |
|             JArray ja = JArray.Parse(content);
 | |
|             foreach (JObject jo in ja)
 | |
|             {
 | |
|                 if (jo.Value<bool>("public")) // .getBool("public"))
 | |
|                 {
 | |
|                     publicControls.Add(jo.Value<string>("name")); //jo.getString("name"));
 | |
|                 }
 | |
|                 allControls.Add(jo.Value<string>("name"), jo); //jo.getString("name"), jo);
 | |
|             }
 | |
|             publicControls.Sort();
 | |
| 
 | |
|             StringBuilder sb = new StringBuilder();
 | |
|             sb.Append("<ul class=\"mainlist\">");
 | |
|             for (int i = 0, count = publicControls.Count; i < count; i++)
 | |
|             {
 | |
|                 string name = publicControls[i];
 | |
| 
 | |
|                 sb.Append("<li>");
 | |
|                 sb.AppendFormat("<div class=\"ui-widget ui-widget-content\">");
 | |
| 
 | |
|                 sb.AppendFormat("<div class=\"ui-widget-header\">{0}</div>", name);
 | |
| 
 | |
|                 // 计算控件name的所有AJAX属性
 | |
|                 List<string> ajaxProperties = new List<string>();
 | |
| 
 | |
|                 string parentControlName = name;
 | |
|                 do
 | |
|                 {
 | |
|                     JObject control = allControls[parentControlName];
 | |
|                     foreach (string property in control.Value<JArray>("ajax")) // .getJSONArray("ajax").getArrayList())
 | |
|                     {
 | |
|                         if (!ajaxProperties.Contains(property))
 | |
|                         {
 | |
|                             ajaxProperties.Add(property);
 | |
|                         }
 | |
|                     }
 | |
|                     parentControlName = control.Value<string>("parent"); //.getString("parent");
 | |
| 
 | |
|                 } while (!String.IsNullOrEmpty(parentControlName));
 | |
| 
 | |
|                 ajaxProperties.Sort();
 | |
| 
 | |
|                 sb.Append("<div class=\"ajaxlist-container\">");
 | |
|                 sb.Append("<ul class=\"ajaxlist\">");
 | |
|                 foreach (string property in ajaxProperties)
 | |
|                 {
 | |
|                     sb.AppendFormat("<li>{0}</li>", property);
 | |
|                 }
 | |
|                 sb.Append("</ul>");
 | |
|                 sb.Append("</div>");
 | |
|                 sb.Append("</div>");
 | |
| 
 | |
|                 sb.Append("</li>");
 | |
| 
 | |
|                 //if ((i + 1) % 6 == 0)
 | |
|                 //{
 | |
|                 //    sb.Append("</tr><tr>");
 | |
|                 //}
 | |
|             }
 | |
|             sb.Append("</ul>");
 | |
| 
 | |
|             litResult.Text = sb.ToString();
 | |
|         }
 | |
| 
 | |
|         private string ReadFile(string filePath)
 | |
|         {
 | |
|             string content = String.Empty;
 | |
| 
 | |
|             using (System.IO.StreamReader sr = new System.IO.StreamReader(Server.MapPath(filePath)))
 | |
|             {
 | |
|                 content = sr.ReadToEnd();
 | |
|             }
 | |
| 
 | |
|             return content;
 | |
|         }
 | |
|     }
 | |
| }
 |