나는 이상한 문제 (어쨌든 나에게) 무슨 표시가 ... 문제
은 내가 ~/조회/공유에 SelectListItem에 대한 간단한 편집기 템플릿 (SelectListItem.cshtml를 생성 예를 들어/EditorTemplates 폴더) : c.Categories이는 괜찮 았는데를 IEnumerable입니다,하지만 약간 다른 마크 업 컬렉션을 렌더링하는 다른 템플릿을 원했다, 그래서 복사하고 이름을 변경
<ul class="select-list-item cell-15 col-3 omega clearfix">
@Html.EditorFor(c => c.Categories)
</ul>
편집기 템플릿 (예 : 'CategoryIcons.cshtm') '다음과 같이 호출됩니다 :
<ul class="select-list-item cell-15 col-3 omega clearfix">
@Html.EditorFor(c => c.Categories, "CategoryIcons")
</ul>
즉, 유일한 차이점은 이름이 지정된 편집기 템플릿을 지정하는 것입니다. 두 템플릿 ID에
The model item passed into the dictionary is of type 'System.Collections.Generic.List`1[System.Web.Mvc.SelectListItem]', but this dictionary requires a model item of type 'System.Web.Mvc.SelectListItem'
템플릿의 모델 선언 : 나는 페이지를 열 때
, 이제 다음과 같은 오류가
@model System.Web.Mvc.SelectListItem
는 이해가 안 돼요 왜 기본 템플릿 작품과 명명 된 템플릿 않습니다. 어떤 도움을 주시면 감사하겠습니다.
감사합니다.
정확하게 똑같은 반응을 쓰고 있는데, 제가 추가 할 유일한 다른 것은'SelectListItem'을 다른 이름의 클래스로 싸서 다른 템플릿을 얻기 위해 사용할 수 있다는 것입니다. MVCContrib에 시작하려고 추가하려는 누군가를위한 좋은 장소. –
설명과 조언을 주셔서 감사합니다. SelectListItem에서 상속하여 새 클래스를 만든 다음 해당 클래스에 대한 새 템플릿을 만들었습니다. 완벽하게 작동하지만 불필요한 오버 헤드처럼 보입니다. – Neilski