뷰의 유형에 대한 공지가없는 컨트롤러에서 updateModel을 사용하려고합니다. 다른 유형의 다른 뷰가 있지만 모두 상속 된 유형의 ExternalBase 클래스가 있습니다.MVC Controller from view of UpdateModel
내 컨트롤러에는 항상 ExternalBase가 있지만 컨트롤러는 올바른 유형을 알지 못합니다.
저장시 올바른 개체를 가져 오는 메서드를 호출하지만 this를 externalBase로 반환합니다. innertype이 제 타입입니다. 내 객체 위로 마우스를 가져 가면 저장을 호출하는 뷰의 유형입니다. 이제 updateModel을 호출하면 속성이 채워지지 않습니다. 예를 들어
: MyExternalBase p = new Person();
UpdateModel(p, "Person", form.ToValueProvider());
:
// MyExternalBase는 다음 내가 저장에 내 컨트롤러에서 빈 클래스
클래스 사람
public class Person
: MyExternalBase
{
public string FirstName { get; set; }
public string LastName { get; set; }
public List<TheParameters> Parameters { get; set; }
public Address Address { get; set; }
public TheParameters[] OtherParameters { get; set; }
}
public class Address
{
public string Street { get; set; }
public string City { get; set; }
public string State { get; set; }
public TheParameters Parameter { get; set; }
}
public class TheParameters
{
public string Parameter { get; set; }
}
입니다
이제 p가 채워지지 않습니다.
대신 Person p = new Person()을 사용하면 문제가되지 않습니다. 하지만 내 컨트롤러가 뷰 유형과 독립적 이길 원합니다.
이 오류는 updateModel 또는 이와 같은 오류일까요? 또는 그 해결 방법은 무엇입니까?
[여기 답변입니다] (http://stackoverflow.com/questions/649733/mvc-controller-independent-of-type-of-view-updatemodel/3113012#3113012). – bzlm