2
我已經做了這方面的一些研究,似乎發現是過期或在我的情況不太工作崗位。我雖然可以在搜索時使用錯誤的關鍵詞... =/MVC 4綁定列表的嵌套列表導致
在我的網頁我有一個包含包含行又包含項目組盒標籤。 所以它是列表4個級別的列表。
問題:
當回發,ViewModel.Tabs爲空,我不能保存任何。 所有內容都顯示得非常好,但沒有任何內容可以發回。
代碼
查看/共享/ EditorTemplates/Tab.cshtml
@model AWMCCRM.Web.ViewModels.Tab
@Html.HiddenFor(vm => vm.Name)
<div id="[email protected](" ", string.Empty)" class="tab-content two">
@Html.EditorFor(vm => vm.Groups)
</div>
查看/共享/ EditorTemplates/Group.cshtml
@model AWMCCRM.Web.ViewModels.Group
@Html.HiddenFor(vm => vm.Name)
<fieldset>
<legend>@Model.Name</legend>
@Html.EditorFor(vm => vm.Lines)
</fieldset>
查看/共享/EditorTemplates/Line.cshtml
@model AWMCCRM.Web.ViewModels.Line
<div class="_100Max">
@Html.HiddenFor(vm => vm.Name)
@Html.EditorFor(vm => vm.Items)
</div>
查看/共享/ EditorTemplates/Item.cshtml
@model AWMCCRM.Web.ViewModels.Item
<div class="[email protected]" title="@Model.Description">
<p>
@Html.HiddenFor(x => x.DataType)
@Html.HiddenFor(x => x.Description)
@Html.HiddenFor(x => x.DisplaySize)
@Html.HiddenFor(x => x.DisplayType)
@Html.HiddenFor(x => x.IDsPiped)
@Html.HiddenFor(x => x.ItemType)
@Html.HiddenFor(x => x.Name)
@Html.LabelFor(vm => vm.Value, Model.Name)
@switch (Model.DisplayType.ToLower().Replace(" ", string.Empty))
{
case "checkbox":
@Html.CheckBoxFor(vm => Convert.ToBoolean(vm.Value))
break;
case "dropdownlist":
@Html.DropDownListFor(vm => vm.Value, Model.ValueOptionListItems)
break;
case "multiselectlist":
@Html.ListBoxFor(
x => x.SelectedValueList,
Model.ValueOptionListItems,
new { id = "itemValuesMultiSelect", multiple = "multiple", Size = 15 })
break;
case "radiobutton":
@Html.RadioButtonFor(vm => vm.Value, Model.Value)
break;
case "textarea":
@Html.TextAreaFor(vm => vm.Value)
break;
default:
@Html.TextBoxFor(vm => vm.Value)
break;
}
</p>
</div>
的視圖模型(削減版本)
namespace AWMCCRM.Web.ViewModels
{
public class PersonEditViewModel
{
public List<Tab> Tabs { get; set; }
//Other properties
//...
}
}
的視圖(削減版本)
@using (Html.BeginForm("Edit", "Person", FormMethod.Post, new { id = "validate-form", @class = "block-content form" }))
{
@Html.AntiForgeryToken()
@Html.HiddenFor(x => x.PersonID)
@foreach (var tab in Model.Tabs)
{
@Html.EditorFor(vm => tab)
}
<input class="close-toolbox button" type="submit" value="Save">
}
有什麼建議?
感謝
完美!它的工作原理,謝謝。 – PostureOfLearning