Внутреннее связующее модель делает что-то не так?
Ни один ModelBinding не делает именно то, для чего обучен.Задача ModelBinder примерно состоит в том, чтобы получить параметры действия и заполнить их из разных источников (сообщение Fomr, JSON, словарь маршрута и т. Д.).Поскольку параметром вашего метода действия является ClassB, который не содержит свойств (методов и полей) ClassC, поэтому он не будет заполнять эти свойства.Более того, если вы хотите получить доступ к ClassC в вашем методе действия, вы должны изменить его на
public virtual ActionResult Save(ClassC classc)
{
}
и, как вы сказали, вы используете свойство ClassC (c1) просто для того, чтобы показать / скрыть div настр.но если вы хотите, чтобы свойства Classc были привязаны к модели, вы должны поместить их в поля формы (input, select, checkbox и т. д.), чтобы они отправлялись с запросом при отправке формы.
В идеалене должен ли параметр ClassB содержать экземпляр ClassC, который был ему присвоен при заполнении представления?
Нет, это не должно происходить, потому что когда представление отображается и html доставляется пользователю, все (Model, RequestContext и т. Д.) Исчезает, а когда вы отправляете форму, это совершенно новый запрос ине должен содержать значения модели из предыдущих запросов.Значения ClassB, как вы видите в своем методе действия, не получены из предыдущего запроса.это скорее связано с вашими параметрами действия связывателем модели.