나는 양식을 가지고있는 게시물이 값 :Mvc4 기본 모델 바인더 - 사전
조사 [0] .KEY 75
조사 [0] .Value 4
조사 [1] .KEY 76
조사 [1] .Value 4
내가 사전 유형에 매핑하는 기본 모델 바인더를 사용하려고 해요 :
[HttpPost]
public ActionResult CompleteSurvey(Dictionary<int, int> answers)
{
...
}
하지만 InvalidCastException이 발생합니다. 지정된 캐스트가 유효하지 않습니다.
왜 ??
이것은이 버그가 수정되었으므로 변경되었을 가능성이 있습니다. http://connect.microsoft.com/VisualStudio/feedback/details/636647/make-jsonvalueproviderfactory-work-with-dictionary-types-in-asp-net- mvc - 당신은 아마도 단순한 JSON 객체를 사용할 것이다. 참고 : MVC4에서이 새로운 기능을 테스트 할 기회가 없었으므로 현재 MVC3 해결 방법을 사용하고 있습니다. http://stackoverflow.com/questions/4710729/post-json-dictionary/5397743#5397743 –
답변을 주셔서 감사합니다. 스트레이트 바인딩. JSON이 없습니다. – Bartosz
글쎄, 그게 무슨 뜻이야 - 그 버그 수정에 따라 이제는 해결 방법을 건너 뛰고 .Key/.Value 해킹이나 커스텀 직렬화 대신에 JS 오브젝트를 제출하고 다른 끝에서 사전을 얻을 수 있어야한다. 마구 자르기. –