我有一个递归模型这样创建表单好,我的树渲染,但我需要在树的每一行添加一个文本框,我想输入这样的名称:从递归模型
Childs[0].Childs[1].Childs[2].Text
所以我的模型绑定将按预期工作。
有没有通过使用EditorTemplates或其他任何方式来实现这一目标?
我想避免在表单提交中在javascript中建立输入名称。
我有一个递归模型这样创建表单好,我的树渲染,但我需要在树的每一行添加一个文本框,我想输入这样的名称:从递归模型
Childs[0].Childs[1].Childs[2].Text
所以我的模型绑定将按预期工作。
有没有通过使用EditorTemplates或其他任何方式来实现这一目标?
我想避免在表单提交中在javascript中建立输入名称。
您可以使用尊重当前导航上下文而非@helper
的编辑器模板。
所以定义自定义编辑模板为Node
型(~/Views/Shared/EditorTemplates/Node.cshtml
):
@model Node
<li>
@Html.LabelFor(x => x.Text)
@Html.EditorFor(x => x.Text)
@if (Model.Childs.Any())
{
<ul>
@Html.EditorFor(x => x.Childs)
</ul>
}
</li>
,然后里面的一些主要观点:
@model MyViewModel
<ul>
@Html.EditorFor(x => x.Menu)
</ul>
其中Menu
财产显然是Node
型。
您是否尝试过使用模板? –