2014-04-23 6 views
0

자바 스크립트 코드를 사용하여 C#으로 코딩 된 컨트롤러 액션에 데이터를 포스트하고 있습니다.JavaScript의 정수 배열을 List의 컨트롤러 액션에 전달 <int>

var answers = []; 
answers.push(1); 
answers.push(2); 
answers.push(3); 

나는 값이 나는 점점 오전 answers.tostring하려고 할 때 같은 배열로가는 것을 자바 스크립트 경고에서 볼 수있다 : I는 다음과 같이 생성 된 자바 스크립트에서 정수의 배열을 전달하려고 null 값을 얻고있다 예상대로 값이 "1,2,3", 나는 그 애 쓰고 다음 POSTDATA

var postData = { 
       'surveyID': surveyID, 
       'questionID': questionID, 
       'answers': answers, 
       'answerText': null, 
       'comment': comment, 
       'questionType': questionType 
      }; 

다음 컨트롤러 액션하지만 정수의 배열을 표적으로되어이 같은 컨트롤러 액션에 걸쳐 수행하지 않는 것 내 목록은 항상 null입니다.

[HttpPost] 
public PartialViewResult GoForward(int surveyID, int questionID, List<int> answers, string answerText, string comment, string questionType) 
{} 

어떤 것도 null이 아닌 List로 변환 할 postdata 배열을 얻을 수 있다는 것을 알고 있습니까?

+0

예 내 질문에이 방법을이 방법으로 전달하려고합니다. – Jay

+1

'C# '에서'Array' 클래스를 사용할 수없는 이유는 무엇입니까? – jhyap

답변

0

MVC는이 같은 쿼리 스트링 패턴의 데이터를 예상하기 때문에 :
답변 = 1 개 & 답변 = 2 개 & 답변 =

당신이 JQuery와 AJAX를 어떻게 사용하는 경우 (3), 기본
답변 [] = 1 &입니다 답변 [] = 2 개 & 답변 [] = 3

당신은 traditional 옵션을 시도 할 수

$.ajax({ 
    //... 
    traditional:true, 
    //... 
}); 

https://api.jquery.com/jQuery.ajax/