标签:
为了灵活性,本例中实现是在View中完成递归逻辑,因此可以在递归过程中控制样式,内容的render
也可以选择在后端完成递归逻辑返回partial 然后在前端jquery中加class
2. 将以下3个文件copy到项目中,如下所示:
public class JqTreeViewNode
{
public string Name { get; set; }
public IList<JqTreeViewNode> Children { get; set; }
public JqTreeViewNode()
{
Children = new List<JqTreeViewNode>();
}
public static JqTreeViewNode CreateTest()
{
return new JqTreeViewNode()
{
Name = "Root",
Children = new List<JqTreeViewNode>()
{
new JqTreeViewNode()
{
Name = "ChildLvl1-1",
Children = new List<JqTreeViewNode>
{
new JqTreeViewNode()
{
Name = "ChildLvl2-1",
Children = new List<JqTreeViewNode>()
{
new JqTreeViewNode()
{
Name = "ChildLvl3-1",
},
new JqTreeViewNode(){Name = "ChildLv3-2"},
new JqTreeViewNode(){Name = "ChildLv3-3"}
}
},
new JqTreeViewNode(){Name = "ChildLv2-2"}
}
},
new JqTreeViewNode(){Name = "ChildLv1-2"}
}
};
}
}public ActionResult Index()
{
return View(JqTreeViewNode.CreateTest());
}@model WebApplication1.Controllers.JqTreeViewNode
<link href="~/Content/External/jquery.treeview.css" rel="stylesheet" />
@section scripts{
<script src="~/Content/External/jquery.treeview.js"></script>
<script type="text/javascript">
$(document).ready(function () {
$(".treeview-gray").treeview({ collapsed: true });
});
</script>
}
<div>
JqTreeView
</div>
<div>
@Html.Partial("JqTreeView", Model)
</div>
@using WebApplication1.Controllers
@model WebApplication1.Controllers.JqTreeViewNode
<ul style="margin: 5px" class="treeview-gray">
@{
if (Model.Children.Any())
{
foreach (JqTreeViewNode item in Model.Children)
{
<li style="margin-left: 20px">
@item.Name
@{
if (item.Children.Any())
{
@Html.Partial("JqTreeView", item)
}
}
</li>
}
}
}
</ul>标签:
原文地址:http://blog.csdn.net/lan_liang/article/details/43485779