2011-09-07 1 views
26

나는 아약스 호출을 만들려고 노력하고 같은 :어떻게 여분의 앰퍼샌드 문제없이 JQuery 메서드에 올바른 Url.Action을 전달합니까?

$('#Grid').load('@Url.Action("_AgentStatesGrid", "AgentStates", new { projectId = Model.SelectedProject, siteId = Model.SelectedSite })', null, refreshComplete); 

불행히도,이 해석됩니다 :

$('#Grid').load('/AgentStates/_AgentStatesGrid?projectId=179&siteId=0', null, refreshComplete); 

당신이 볼 수 있듯이, &의 .a.m.p; 대신 쿼리 문자열의 앰퍼샌드가

(나는 대만족, 웹 앰퍼샌드로 해석하기 때문에 점을 넣어 .. 당신은 아이디어를 얻을) 나는 Url.Decode을 시도하고는 아무것도하지 않았다. 나는 그것을 해결하는 방법을 단서가 없다, 그래서 나는이 문제를 이해 모르겠어요.

+1

을 시도해보십시오 @ Html.Raw (Url.Action ("_ AgentStatesGrid", "AgentStates"새 {projectId = Model.SelectedProject, siteId = Model.SelectedSite})) – Steve

+1

그게 스티브 한거야! 답을 만들어 확인 표시해주세요 :-) –

답변

52

@Html.Raw(Url.Action("_AgentStatesGrid", "AgentStates", new { projectId = Model.SelectedProject, siteId = Model.SelectedSite })) 

감사를 시도

+9

나는 이것이 다소 실망 스럽습니다. 내가 도울 수 없지만 Url.Action의 일반적인 유즈 케이스는 링크로 간주되므로 (기술적으로) 거의 모든 경우에 Html.Raw가 필요하다. (하나의 매개 변수가 올바르게 작동하는 경우가 우연히 디자인보다 많다) . 하지만 사람들이 2011 년부터 이걸로 고군분투하고있는 것 같아요. 그래서 지금 nuthin의 gunna가 바뀌 었습니다. –

+1

더 이상 동의 할 수 없습니다. 결과 URL이 아닌 각 매개 변수를 인코딩해야합니다. – ptutt

+6

앰퍼샌드 인코딩? 그들은 무엇을 생각하고 있었습니까 ??? –

관련 문제