【发布时间】:2014-08-02 20:53:39
【问题描述】:
我正在尝试编辑嵌套集合并将值发布回服务器。 我不知道这是否可能。
Class1 有 Class2 的集合
Class2 有 Class3
Class3 有 Class4 的集合
Class4 有 Class5 的集合
我从 Nuget 安装了包 BeginCollectionItem。
我为它们中的每一个创建了编辑器模板。 但仍然没有显示编辑器。
@using (Html.BeginForm("SaveModification","Client", FormMethod.Post, new { @class = "form-horizontal", role = "form" }))
{
@Html.AntiForgeryToken()
@Html.HiddenFor(o => o.Id)
<div class="row">
<div class="col-md-12">
@using (Html.BeginCollectionItem("Classes2"))
{
@Html.EditorFor(x => x.Classes2)
}
</div>
</div>
<div class="row">
<div class="col-md-offset-2 col-md-10">
<input type="submit" value="Save" class="btn btn-default" />
</div>
</div>
}
Class2.cshtml
<div class="row">
@Html.HiddenFor(o => o.Id)
@Html.EditorFor(model => model.Class3)
</div>
Class3.cshtml
<div class="row">
@Html.HiddenFor(o=>o.Id)
<div class="row">
<div class="col-md-10" >@Html.DisplayFor(model => model.Name)</div>
<div class="col-md-2">@Html.EditorFor(model => model.Quantity)</div>
</div>
<div class="row">
@using (Html.BeginCollectionItem("Classes4"))
{
@Html.EditorFor(x => x.Classes4)
}
</div>
</div>
Class4.cshtml
<div class="row">
<div class="col-md-10" style="padding-left:30px;">@Html.DisplayFor(model => model.Name)</div>
<div class="col-md-2">@Html.EditorFor(model => model.Quantity)</div>
</div>
<div class="row">
@using (Html.BeginCollectionItem("Classes5"))
{
@Html.EditorFor(x => x.Classes5)
}
</div>
Class5.cshtml
@Html.HiddenFor(model => model.Id)
<div class="row">
<div class="col-md-10" style="padding-left:50px;">@Html.DisplayFor(model => model.Name)</div>
<div class="col-md-2">@Html.EditorFor(model => model.Quantity)</div>
</div>
我的问题:这可能使用嵌套编辑器模板吗?
更新1:
使用提琴手,我看到我的回复包含我编辑的值
Id
Classes2.index
Classes2.index
Classes2[311410b2-6ce1-4a09-9979-552720f377fc].Id
Classes2[311410b2-6ce1-4a09-9979-552720f377fc].Class3.Id
Classes2[311410b2-6ce1-4a09-9979-552720f377fc].Class3.Quantity
Class3.index
Class3[7e8b7a76-7000-4ec9-8877-d150ffe25dc5].Classes4.index
Class3[7e8b7a76-7000-4ec9-8877-d150ffe25dc5].Classes4[3315b9ce-989d-4229-92c5-a7ba9955539d].Id
Class3[7e8b7a76-7000-4ec9-8877-d150ffe25dc5].Classes4[3315b9ce-989d-4229-92c5-a7ba9955539d].Quantity
Classes4.index
Classes4[d8990f17-9d9d-4f21-81e2-70c012c48922].Classes5.index
Classes4[d8990f17-9d9d-4f21-81e2-70c012c48922].Classes5[a8afe9a0-b6e0-42b7-85aa-f5bd967dcab6].Id
Classes4[d8990f17-9d9d-4f21-81e2-70c012c48922].Classes5[a8afe9a0-b6e0-42b7-85aa-f5bd967dcab6].Quantity
但是在我的控制器中,视图模型没有相同的值,一些集合是空的。我只得到 class2 和 class3 值。
【问题讨论】:
标签: c# asp.net-mvc