2011-04-26 8 views
6

이전에 정수 (라우팅 파일에 설정)가 있지만 지금은 매개 변수 중 하나 인 정수를 가진 컨트롤러 함수가 있습니다. 정수의 배열이 될 필요가있다. 여기 컨트롤러 작업입니다 : 내 자바 스크립트에서asp.net mvc에서 어떻게 정수 배열을 매개 변수로 전달할 수 있습니까?

public JsonResult Refresh(string scope, int[] scopeId) 
    { 
     return RefreshMe(scope, scopeId); 
    } 

, 나는 아래했다하지만 난 이제 경우 ScopeId은 정수 배열로 얻을 필요가있다. 어떻게까지 내가 설정 jQuery를 사용하여 게시 할 URL, 여기에 자바 스크립트

var scope = "Test"; 
    var scopeId = 3; 

    // SCOPEID now needs to be an array of integers 

    $.post('/Calendar/Refresh/' + scope + '/' + scopeId, function (data) { 
     $(replacementHTML).html(data); 
     $(blockSection).unblock(); 
    } 

답변

12

다음은 작업해야 다음

$.ajax({ 
    url: '@Url.Action("Refresh", "Calendar")', 
    type: 'POST', 
    contentType: 'application/json; charset=utf-8', 
    data: JSON.stringify({ scope: scope, scopeId: scopeId }), 
    success: function(result) { 
     // ... 
    } 
}); 
0

가 $ .post()

예를 들어 jQuery의 API에서 예입니다 : 서버에 데이터의 배열을 통과 (동안 여전히 결과를 무시).

$.post("test.php", { 'choices[]': ["Jon", "Susan"] }, function() { //do stuff }); 
+2

I 돈 : 당신은 또한 JSON 객체로 요청을 보낼 수 ASP.NET MVC 3를 사용하는 경우

var scope = 'Test'; var scopeId = [1, 2, 3]; $.ajax({ url: '@Url.Action("Refresh", "Calendar")', type: 'POST', data: { scope: scope, scopeId: scopeId }, traditional: true, success: function(result) { // ... } }); 

과 선택 []에서'[]'이 필요하다고 생각하지 않습니다. – Omar

+0

@Omar jQuery 사이트의 예제입니다. 잘라 내기/붙여 넣기 작업. http://api.jquery.com/jQuery.post/ –

+0

@Omar : 맞아요, 필요하지 않습니다. –

관련 문제