展开/收缩 ul
了一個展開收縮的東東,留著以后萬一用到
后臺遞歸生成的函數(這里是一個反射參數展示,支持多層級展開顯示,后臺反射如何多層級解析的方法有時間再補上吧)
/// <summary>
/// 遞歸生成html展示request屬性
/// </summary>
/// <param name="listProperties">request屬性集合</param>
/// <returns>html</returns>
public static string OutputRequest(List<PropertyViewModel> listProperties)
{
const string contractImg = "<img src=\"../Cake/Easyui/themes/icons/edit_remove.png\" width=\"16px\" height=\"16px\" border=\"0px\" style=\"vertical-align: middle\" />";
const string output = "<table><tbody>{0}</tbody></table>";
var html = new StringBuilder();
if (listProperties == null || listProperties.Count <= 0) return string.Empty;
foreach (var propertyOrField in listProperties)
{
var tr = new StringBuilder();
tr.AppendFormat("<tr>");
if (propertyOrField.Type.Properties != null && propertyOrField.Type.Properties.Count > 0)
tr.AppendFormat("<td class=\"onclick\">{1} {0}</td>", propertyOrField.Name, contractImg);
else
tr.AppendFormat("<td>{0}</td>", propertyOrField.Name);
tr.AppendFormat("<td>[{0}]</td>", propertyOrField.Type.Name.EscapeSequence());//特殊字符轉移 用于前端html展示
tr.AppendFormat("<td>{0}</td>", propertyOrField.Summary);
tr.AppendFormat("</tr>");
html.Append(tr);
if (propertyOrField.Type.Properties != null && propertyOrField.Type.Properties.Count > 0)
html.AppendFormat("<tr class=\"expand\"><td style=\"padding-left:30px\" colspan=\"3\">{0}</td></tr>", OutputRequest(propertyOrField.Type.Properties));
}
return string.Format(output, html);
}
轉載于:https://www.cnblogs.com/maomaokuaile/p/4309143.html
總結
- 上一篇: 【转】NI语法 JNI参考 JNI函数大
- 下一篇: jquery json学习