2017-10-03 1 views
4

뷰 모델이 있고 뷰 모델의 속성 중 하나가 Profile이라는 개체입니다. Profile의 속성 중 하나는 CD라고하는 다른 객체의 목록입니다. 나는 컨트롤러, Profile.CD[2].Prop1=TEST3으로 게시 얻을 것이다보기에서 목록에 모든 세 번째 개체를 추가한다면 뷰에서, 나는 다음과 같은모델 바인더 null리스트의 <object> 가끔

Profile.CD[0].Prop1=TEST&Profile.CD[0].Prop2=TEST&Profile.CD[1].Prop1=TEST2&Profile.CD[1].Prop2=TEST2

에 POST 본문 값을 설정 갑자기 Profile.CD이 null입니다. 2 항목 이하 Profile.CD은 내가 기대하는 값을 얻습니다. 세 번째 항목을 추가하자마자 모델 바인더가 작동을 멈 춥니 다. 나는 지혜로 끝나고, 내가 생각할 수있는 모든 것을 시도했다. 내가

  • 뷰에서 항목을 제거하고 새로운 추가를 시도했습니다

    것들 -보기에서 모두 제거하고, 2 개 개의 새로운 항목을 추가

  • 을 작품 -

    일들 보기에서 세 번째 항목을 추가
  • -하지 못한 Profile.CD 뷰 모델의 null

모델 상태 유효성 검사 규칙을 사용하고 있지 않습니다. 디버깅 할 때, 즉각적인 창 ?Request.Form.Where(x => x.Keys.Contain("Profile.CD")).ToList())에서 다음과 같은 것을 시도해 봤지만 목록의 null이 뷰 모델에 있어도 내 값은 모두 Request 개체에 있습니다.

Profile.CD의 개체 값은 고유하지 않아도됩니다.이 값의 원인이되는 입력이 아닌지 확인하기 위해 모든 단일 값을 "테스트"로 설정해 보았습니다.

나는 정말

보기 모델

public class PortalViewModel { 
    public ProfileModel Profile { get; set; } 
} 

에게 .. 프로필 모델

public class ProfileModel { 
    //bunch of other static properties that are bound just fine.. like strings and decimals... 

    public List<CDModel> CD { get; set; } 
} 

컨트롤러

01을 잃었어요

답변

1

이 문제에 대한 코딩 솔루션을 찾을 수 없었으며 다른 방법을 모색하기 시작했습니다. 내가 고정 문제가 있지만, 그것은 거의 의미가 없습니다.

.net 코어 1.0.1에서 .net 코어 1.0.5로 프로젝트를 업그레이드했으며 모든 것이 100 % 작동합니다. 이 업그레이드에서는 코드 변경을 전혀하지 않았습니다. 그냥 .net 코어를 업그레이드했습니다. 아주 이상한 ..

+0

.... 마이크로 소프트에 오신 것을 환영합니다 .... – Kixoka