일부 공통 속성을 기본 클래스로 리팩터링하고 즉시 모델 업데이트가 실패하기 시작했습니다. UpdateModel() 및 TryUpdateModel()은 상속 된 공용 속성을 업데이트하지 않는 것 같습니다.ASP.NET MVC UpdateModel - 필드 대 속성?
MSDN이나 Google에서 이러한 방법의 규칙이나 의미에 대한 자세한 정보를 찾을 수 없습니다. 문서는 간결 (http://msdn.microsoft.com/en-us/library/dd470933.aspx)이며 간단히 설명하면 다음과 같습니다.
컨트롤러의 현재 값 공급자의 값을 사용하여 지정된 모델 인스턴스를 업데이트합니다.
SOLVED : MVC.NET은 실제로 상속 된 속성을 처리합니다. 이것은 상속과는 아무런 관련이없는 것으로 밝혀졌습니다. 내 기본 클래스는 속성이 아닌 public 필드로 구현되었습니다. 그들을 공식 속성 ({get; set;}을 추가하는 것)으로 바꾸는 것은 내가 필요한 전부였다. 이것은 전에 물기가 있었고, 나는 단순한 공개 필드를 사용하고 싶습니다. 필자는 필드와 속성이 문법적으로 동일하고 클래스의 사용자에게 의미 상 동일하다고 주장 할 수 있다고 주장합니다.
내 문제가 다른 곳에 있었던 것을 확인해 주셔서 감사합니다. 내 편집을 참조하십시오. 예, GetProperties()를 사용하여 반영하는 것이 GetFields()와 반대되는 문제입니다. 모델 바인딩은 공용 속성과 필드를 모두 업데이트 할 것으로 예상 했었습니다. 속성은 필드 표기법으로 가장하는 문법적 설탕이기 때문입니다. 그러나 이것은 MVC.NET 지식이 부족한 것입니다. 내가 알기로, 그 단순함,하지만 나는 차별화를 좋아하지 않습니다. – codenheim
>> "top"클래스도 기본 클래스입니다. 나는 아래쪽을 의미했다, 미안, 빠른 것을 그것에 타이프했다. .. 나는 잎 학급을 말해야했다. – codenheim