Немного новичок в использовании EditorTemplates и озадачен следующим:
У меня есть многослойная модель (представление), упрощенная так:
public class MyModel()
{
public MyFirstSubModel MyFirstSubModel { get; set; }
public MySecondSubModel MySecondSubModel { get; set; }
}
Для каждой подмодели, которую я сделал EditorTemplate, например, так:
@model MyFirstSubModel
<div>
@Html.TextBoxFor(m => m.SomeThing)
</div>
и
@model MySecondSubModel
<div>
@Html.TextBoxFor(m => m.AnotherThing)
</div>
Эти два отображаются в виде разных вкладок в главном представлении, например:
<div class="tab-content">
<div class="tab-pane fade">
@Html.EditorFor(m => m.MyFirstSubModel)
</div>
<div class="tab-pane fade">
@Html.EditorFor(m => m.MySecondSubModel)
</div>
</div>
Контроллер это не что иное, как проводник, выполняющий вызовы в библиотеку сервисов, которая выполняет вызовы WebAPI, в котором другой контроллер обращается к реальной модели для извлечения и сохранения данных. Эта модель является Entity Framework.
Все работает довольно хорошо, пока спецификации не изменились, и меня попросили изменить значение MySecondSubModel.AnotherThing, когда пользователь меняет MyFirstSubModel.SomeThing. В идеале, без необходимости перезагружать все, что противоречило бы цели иметь шаблоны, я думаю.
Я пытался написать вызов Ajax в MyFirstSubModel EditorTemplate, чтобы получить значение, которое мне нужно было бы поместить в MySecondSubModel EditorTemplate. Эта часть идет хорошо, но имея значение в первом EditorTemplate, я понятия не имею, как получить его во втором.
Дополнительный вопрос: как извлечь значение из, скажем, третьего EditorTemplate для использования в качестве дополнительного параметра для вызова Ajax в первом EditorTemplate для извлечения значения для второго EditorTemplate?
Я надеюсь, что в моем вопросе был какой-то смысл, возможно, я поступаю неправильно, я все еще учусь. Надеюсь, можно получить несколько полезных указателей. ТИА!