У меня есть 2 класса моделей, подобных:
class DependenciesModel{
List<int> DependencyComponentIDs { get; set; }
}
class ComponentModel{
int ComponentID { get; set; }
string Name { get; set; }
DependenciesModel Dependencies { get; set; }
}
Вид использует выглядит примерно так:
@model ComponentModel
@Html.HiddenFor(m => m.ComponentID)
<table>
<tr>
<td>@Html.LabelFor(m => m.Name)</td>
<td>@Html.TextBoxFor(m => m.Name)</td>
<td>@Html.ValidationMessageFor(m => m.Name)</td>
</tr>
<tr>
<td>Dependencies</td>
<td>@Html.EditorFor(m => m.Dependencies, "DependencyEdit")</td>
<td> </td>
</tr>
</table>
И шаблон редактора DependencyEdit.cshtml в папке EditorTemplates:
@model DependenciesModel
// There is more to this but I'm simplifying to get to the point
@Html.CheckBoxListFor(model => model.DependencyComponentIDs)
Я вижу, что значения отправляются обратно в Fiddler, но в контроллере свойство Dependencies
пусто.
Интересная часть заключается в том, что значения публикуемых полей просто DependencyComponentIDs
без указания того, что они являются частью Dependencies
свойства
Я разделил список зависимостей на отдельную модель, потому что в ней много кода управления, который создает хорошее разделение интересов.
Что мне нужно сделать, чтобы это работало?