2010-03-09 2 views
0

jSON 개체를 반환하는 컨트롤러 메서드가 있는데 한 호출 상황에서는 작동하고 다른 호출 상황에서는 작동하지 않습니다. 브라우저의 URL이

http://localhost:65247/Client 인 경우 작동합니다.

는하지만, 내 URL은 다음과 같습니다 때

http://localhost:65247/Client/UserAdmin?id=6 - 그것은 한마디로

작동하지 않습니다, 클라이언트는 사용자가 있습니다. 클라이언트 내에서 특정 사용자 (UserAdmin보기)에서 작업하고 싶습니다. 이 경우 클라이언트 ID는 6입니다. Id = 6으로 시작된 UserAdmin보기에서 드롭 다운에서 사용자를 선택하려고합니다. 아이디어는 javascript와 $ .getJSON을 사용하여 특정 사용자의 데이터를 가져와 전체 페이지를 새로 고칠 필요가 없도록하는 것이 었습니다. 이 방법은 앱의 다른 부분에서 사용합니다. 내가 볼 수있는 유일한 차이점은 브라우저의 URL입니다. '?'를 통해 매개 변수가 표시됩니다. 것들을 조금 뒤 틀고있다.

어떤 아이디어 ??

미리 감사드립니다.

John

답변

0

아마도 라우팅 문제 일 수 있습니다. 귀하의 url은 일할 경로와 일치해야합니다 (그렇지 않으면 프레임 워크는 실행할 액션을 알지 못합니다). 기본 경로 만있는 경우 URL은 http://localhost:65247/Client/UserAdmin/6이어야합니다.

내 제안은 내장 헬퍼를 사용하여 URL을 생성하는 것입니다. 그런 다음 경로를 변경하면 아무 것도 변경할 필요가 없습니다. 당신은 다음과 같은 URL 도우미를 사용할 수 있습니다 :

<%=Url.Action("ActionName", "ControllerName")%> 
+0

빙고 ... 그 것이 었습니다. json 호출에는 Admin/GetUser 만 있습니다. 올바른 호출은/Admin/GetUser입니다. 호출이 Admin 컨트롤러의 컨텍스트에있을 때 첫 번째 /는 필수는 아닙니다. 그러나, 그 맥락 밖에서, 그것은 필요하게된다. 다행히도/always in/place는 Admin 컨텍스트 내에서 작동합니다. 감사합니다. 존 – user145110

관련 문제