【发布时间】:2012-06-29 09:22:20
【问题描述】:
我有一个这样的递归模型:
public class Node
{
public int Id { get; set; }
public string Text { get; set; }
public IList<Node> Childs { get; set; }
public Node()
{
Childs = new List<Node>();
}
}
我正在使用以下代码构建一棵带有剃刀视图的树:
<ul>
@DisplayNode(Model)
</ul>
@helper DisplayNode(Node node) {
<li>
@node.Text
@if(node.Childs.Any())
{
<ul>
@foreach(var child in node.Childs)
{
@DisplayNode(child)
}
</ul>
}
</li>
}
一切正常,我的树渲染,但我需要在树的每一行上添加一个文本框,我想输入这样的名称:
Childs[0].Childs[1].Childs[2].Text
所以我的模型绑定将按预期工作。
有什么方法可以使用 EditorTemplates 或其他任何方法来实现这一点吗?
我想避免在表单提交的 javascript 中构建输入名称。
【问题讨论】:
-
你尝试过使用模板吗?
标签: asp.net-mvc asp.net-mvc-3 razor recursion