> 백엔드 개발 > C++ > DropdownList가 'key 'xxx'를 가진 ViewData 항목이 'system.int32'유형이지만 'ienumerable'이어야하는 이유는 무엇입니까?

DropdownList가 'key 'xxx'를 가진 ViewData 항목이 'system.int32'유형이지만 'ienumerable'이어야하는 이유는 무엇입니까?

Barbara Streisand
풀어 주다: 2025-02-03 03:11:10
원래의
210명이 탐색했습니다.

Why Does My DropDownListFor Throw ASP.NET MVC DROPDOWNLISTOR 오류 : 유형 불일치

이 기사는 asp.net mvc에서

를 사용할 때 발생하는 공통 를 다룹니다. 문제 : 이 오류는 모델의 속성 (예 : )이 또는 유사한) 대신 정수 () 일 때 발생합니다. 헬퍼는 선택한 항목을 나타내는 단일 정수 값이 아닌 선택 가능한 항목의 컬렉션을 기대합니다. 원인 :

형식 제출은 단일 정수 값 (선택된 ID)을 제공하기 때문에 불일치가 발생하지만, 도우미는 드롭 다운 옵션을 채우기 위해 컬렉션이 필요합니다. 예제 시나리오 : InvalidOperationException 카테고리 ID에 대한 DropDownListFor 속성이있는 모델이 있다고 가정 해 봅시다. "The ViewData item that has the key 'XXX' is of type 'System.Int32' but must be of type 'IEnumerable'."

: 를 사용한 뷰

양식 제출시, 는 선택한 정수 ID 만 포함하여 오류가 발생합니다. 솔루션 : 솔루션에는 선택 가능한 항목의 컬렉션을 보유한 속성을 포함하도록 모델을 수정해야합니다.

그런 다음 컨트롤러 에이

속성을 ​​채 웁니다 : XXX 그러면 당신의 견해는 다음을 사용합니다 DropDownListFor 중요한 고려 사항 : int IEnumerable<SelectListItem> 포스트에서의 리포지션 : DropDownListFor 결정적으로, 액션 메소드에서

를 다시 채 웁니다. 유효성 검사가 실패하면

가 자동으로 다시 채워지지 않아 후속 렌더의 오류가 발생합니다. 데이터 출처 : 카테고리의 실제 데이터 소스로 를 교체하십시오. 및 속성이 데이터베이스 스키마와 일치하는지 확인하십시오. 강한 타이핑 :

사용은

를 사용하여 강한 타이핑과 더 나은 코드 선명도에 선호됩니다.

이러한 변경 사항을 구현함으로써

헬퍼에게 필요한 항목 모음을 제공하여 유형 불일치 오류를 해결합니다.

위 내용은 DropdownList가 'key 'xxx'를 가진 ViewData 항목이 'system.int32'유형이지만 'ienumerable'이어야하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿