기본 컨트롤러 클래스에서 사용되는 복잡한 ViewModel 객체가 있습니다. 단순화를 위해 그것은 다음과 같습니다TryUpdateModel()처럼 접두사 참조 문자열이있는 하위 객체 식별
public class FruitBowl
{
public Apple[] apples;
public Banana[] bananas;
}
public class Apple
{
public string appleType;
}
을 지금, 나는이 TryUpdateModel(myFruitBowlObj, "apples[0]")
라고하면, 모델 바인더는 POST 데이터에서 업데이트해야 배열의 첫 번째 사과 것을 식별합니다. 또는 양식 필드의 이름이 "apples [0] .appleType"이라는 스키마로 지정된 컨트롤러에 POST 데이터를 입력하고 TryUpdateModel(myFruitBowlObj)
을 호출하면 첫 번째 사과를 올바르게 업데이트합니다.
내 질문은 - 접두사 문자열 "apple [0]"이 주어지면 myFruitBowlObj에서 apple [0]에 대한 참조를 얻는 가장 쉬운 방법은 무엇입니까? 내가 어떻게 TryUpdateModel()
그것을 수행 할 수 있지만 복잡하고 많은 보호 된 방법을 사용합니다. 내가 간과하고있는 어딘가에 접근 할 수있는 모델 바인딩 논리가 있습니까? 아니면 리플렉션을 통해 수동으로해야합니까?
나는 똑같은 결론을 내리고있다. – womp