2013-12-17 2 views
1

MVC 바인딩 또는 다른 문제가 있습니다. 내 동작 메서드에서 id 매개 변수는 항상 3입니다. 심지어 뭔가가 캐싱되지 않았는지 확인하기 위해 재부팅했습니다. 희망 나는 여기에서 간단한 것을 놓치고있다. (평판 포인트가 없으므로 디버그 세션의 이미지를 게시 할 수 없습니다.) 도움이 될 것입니다.MVC 컨트롤러가 올바른 매개 변수 값을 가져 오지 않습니다.

내 컨트롤러 코드 : 피들러에서

[HttpGet] 
public JsonResult GetSampleData(int id) 
{ 
    return new JsonResult 
    { 
     Data = new List<string>{"some", "data", }, 
     JsonRequestBehavior = JsonRequestBehavior.AllowGet 
    }; 
} 

: 링크는 jQuery를 호출로 생성 된 GET http://localhost:51610/Event/GetSampleData/?id=50

:

$.ajax(url, 
     { 
      data: { id: 50 } 
     } 
); 
+0

3이 어디에서 오는 것인지 잘 모르겠습니다. 기본적으로 ID는 경로의 일부입니다. 우리의 링크에는 쿼리 매개 변수 대신 GetSampleData/50이 있습니다. 어떻게 링크를 만드는거야? –

+0

Matt, 링크를 생성 한 jQuery 코드를 추가했습니다. – gstewart

+0

이'$ .ajax' 함수를 어디에서 호출할까요? 앵커 또는 제출 버튼의'.click' 이벤트 안에 있습니까? 또는 어떤 형태의'.submit' 이벤트 안에? –

답변

0

가 아약스 호출에서 URL을 변경하려고

$.ajax{ 
    url: '@Url.Action("GetSampleData", "Controller", new { id = "----" })".replace("----", 50), 
    type... 
+0

안녕 Matt, 나는이 프로젝트를 다른 프로젝트/솔루션에서 호출하는 것입니다. HTML 페이지 일뿐입니다. – gstewart

+0

내가 이드를 사용하고 있기 때문에 추측해야한다면 경로와 충돌합니다. 보기 및 컨트롤러에서 ID 변수를 GetSampleID로 변경해보십시오. –

+0

BINGO! 고맙습니다!!! – gstewart

관련 문제