C# ASP MVC视图。使一棵树看起来像一棵树 我个人认为这个背景与这个问题无关,但可能有用。应该显示树的控制器从WCF服务获取根节点,该节点以这种方式实现,并返回该节点的子节点列表 [DataContract] public class Node { [DataMember] public int NodeID { get; set; } [DataMember] public string Name { get; set; } [DataMember] public int ParentID { get; set; } [DataMember] public List<Node> children; }
现在来谈谈重要的部分。我希望树在视图中看起来像一棵树,所以我也尝试根据我在so上找到的一个示例编写一个递归的razor助手C# ASP MVC视图。使一棵树看起来像一棵树 我个人认为这个背景与这个问题无关,但可能有用。应该显示树的控制器从WCF服务获取根节点,该节点以这种方式实现,并返回该节点的子节点列表 [DataContract] public class Node { [DataMember] public int NodeID { get; set; } [DataMember] public string Name { get; set; } [DataMember] public int ParentID { get; set; } [DataMember] public List<Node> children; },c#,asp.net-mvc,razor,C#,Asp.net Mvc,Razor,现在来谈谈重要的部分。我希望树在视图中看起来像一棵树,所以我也尝试根据我在so上找到的一个示例编写一个递归的razor助手 @helper DisplayTree(IEnumerable<Project.UserService.Node> nodes) { foreach (var item in nodes) { <tr> <td>
@helper DisplayTree(IEnumerable<Project.UserService.Node> nodes)
{
foreach (var item in nodes)
{
<tr>
<td>
@Html.DisplayFor(modelItem => item.Name)
</td>
<td>
@Html.ActionLink("Edit", "Edit", new { id = item.NodeID }) |
@Html.ActionLink("Details", "Details", new { id = item.NodeID }) |
@Html.ActionLink("Delete", "Delete", new { id = item.NodeID })
</td>
</tr>
if(item.children.Any())
{
@DisplayTree(item.children)
}
}
@DisplayTree(Model)
模型是根节点的子节点列表。现在视图显示树中存在的所有节点,但我希望它看起来也像一个实际的树。我现在不知道如何准确地描述它,所以直截了当的解释是,我希望它有点让人想起windows cmd中的文件树。然而,我想在不使用C和Razor之外的任何东西的情况下完成这项工作,当我用谷歌搜索所有使用jquery或js的结果时,我现在不想这样做。有人能给我一个正确方向的提示吗 我会用s和s。谢谢,这正是我需要的。