У меня есть сложный объект ViewModel, используемый в базовом классе контроллера. Для простоты это выглядит так:
public class FruitBowl
{
public Apple[] apples;
public Banana[] bananas;
}
public class Apple
{
public string appleType;
}
Теперь, если я позвоню TryUpdateModel(myFruitBowlObj, "apples[0]")
, механизм связывания определит, что это первое яблоко в массиве, которое должно быть обновлено из данных POST. С другой стороны, я мог бы отправить данные POST на мой контроллер, где поля формы были названы по схеме «apple [0] .appleType», и просто вызвать TryUpdateModel(myFruitBowlObj)
, и это правильно обновит первое яблоко.
У меня вопрос: какой самый простой способ получить ссылку на apple [0] от myFruitBowlObj, учитывая строку префикса «apple [0]»? Я могу проследить, как TryUpdateModel()
делает это, но это сложно и использует много защищенных методов. Есть ли какая-то логика привязки модели, к которой я могу получить доступ где-то, что я пропускаю, или мне нужно сделать это вручную с помощью отражения?