ASP.NET MVC보기 오류 : 불일치 모델 유형
사전에 전달 된 모델 항목은 'Bar'유형이지만 ASP.NET MVC에서 'foo'유형 'Foo'유형의 모델 항목이 필요합니다. 보기의 예상 데이터 유형. 보기는 유형 의 모델을 기대하지만 .
이 문제는 여러 출처에서 비롯 될 수 있습니다
1. 컨트롤러-뷰 모델 불일치 :
가장 일반적인 원인은 잘못된 유형의 모델을 반환하는 컨트롤러 동작 메소드입니다. 뷰가
객체를 기대하는 경우 컨트롤러는
를 사용하여 Foo
객체를 명시 적으로 반환해야합니다.
Bar
2. 입자 뷰 모델 불일치 :
마찬가지로, 뷰가 부분보기를 사용하는 경우 부분보기로 전달 된 데이터는 예상 모델 유형과 일치해야합니다. A
객체를 부정하게 전달하여
객체를 기대하는 부분보기 에이 오류가 발생합니다.
3. 레이아웃의 충돌하는 모델 :
레이아웃이 모델을 정의하는 경우 해당 레이아웃을 사용하는 모든 뷰는 도 호환 가능한 모델 (동일한 유형 또는 파생 유형)을 정의해야합니다. 여기서 불일치하면 오류가 발생합니다
솔루션 :
키는 애플리케이션 전체에서 일관된 모델 유형을 보장하는 것입니다.
1. 올바른 컨트롤러-뷰 모델 전달 :
컨트롤러 작업이 올바른 모델 유형을 반환해야합니다
Foo
Foo
2. 적합한 시점보기 모델 통과 : return View(fooObject);
부분보기를 호출 할 때 모델 유형을 명시 적으로 지정하십시오.
3. 레이아웃에서 충돌하는 모델 처리 :
레이아웃이 별도의 모델이 필요한 경우 를 사용하여 필요한 모델과 부분보기를 제공하는 자식 조치를 렌더링하십시오.
컨트롤러 및 뷰의 모델 유형을주의 깊게 확인하고 레이아웃 및 부분 뷰에서 모델을 처리하기 위해 적절한 기술을 사용 하여이 공통 ASP.NET MVC 오류를 효과적으로 해결할 수 있습니다.
위 내용은 내 ASP.NET MVC View는 '사전에 전달 된 모델 항목이 유형 막대에 있지만이 사전은 Foo 유형의 모델 항목이 필요합니까?'오류가 필요합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!