我现在要做一个理论上有无限多个的ul,但是一般的办法不好实现此功能,于是我想到了递归
方法定义:
@helper ecursiveHelper(IList<List<Hashtable>> node, string pk, string ck)
{foreach (List<Hashtable> lh in node)
{
foreach (Hashtable ht in lh)
{
if (ht["PARENTKEY"] != null && ht["RESOURCEID"] != null)
{
if (ht["CATEGORYKEY"] != null)
{
if (!ht["CATEGORYKEY"].ToString().Equals(ck))
{
continue;
}
}
if (ht["PARENTKEY"].ToString().Equals(pk))
{
<li>
<a href="javascript:;">
<i class="icon-settings"></i>
@ht["SYSTEMNAME"].ToString() <span class="arrow"></span>
</a>
<ul class="sub-menu">
@ecursiveHelper(node, ht["SYSTEMKEY"].ToString(), ck)
</ul>
</li>
}
}
}
}
}
调用:
@ecursiveHelper(node, ht["SYSTEMKEY"].ToString(), ck)