2014-02-14 4 views
2

6 개 차트가있는 페이지가 있습니다. 사용자가 처음으로 페이지를 열면 각 차트가 서버 측에서 생성되는 데 몇 초가 걸리기 때문에 페이지의 레이아웃 만로드 한 다음 각 차트를 아약스로 개별적으로로드하려고합니다. @ Ajax.BeginForm을 사용하여 면도기 구문을 사용하여이 작업을 수행 할 수 있습니까, 아니면 JQuery를 사용하는 것이 더 좋습니까?ASP.NET MVC 페이지가로드 된 후 ajax 호출을합니까?

답변

1

나는 jquery를 사용하는 것이 더 낫다고 주장 할 것이다. 그 이유는 Ajax.BeginForm이 양식을 출력 할 것이기 때문에 서버로 다시 데이터를 전송하는 데 사용된다고 기대하는 경우에만 의미가 있습니다.

당신이 원하는 모두가 예를 들어, 쿼리를 사용하는 것이 아마 최선의 비동기 차트를로드 할 경우 :

$(function(){ 
$('#divForChart1').load('@Url.Action("ActionThatGeneratesChart1", "ChartController"); 
$('#divForChart2').load('@Url.Action("ActionThatGeneratesChart2", "ChartController"); 
... 
}); 
+0

JQuery와 이벤트가 나는 페이지 인 경우 서버에 Ajax 호출을 발사하는 데 사용할 것이다 무엇 짐을 실은? $ .ready는 페이지가로드 될 때마다 실행되기 때문에 적절하지 않습니다. 처음로드 될 때 또는 포스트 콜 (post back call)로 인해로드되는 경우에 관한 것입니다. –

+0

MVC의 webforms 의미에서 포스트 백이 없습니다 (MVC4 권한을 사용하고 있습니까?). 따라서 실제로 페이지에 다시 게시되는 내용이있는 경우 차트를 포함하여 전체 페이지를 새로 고쳐야하기 때문에 준비 이벤트를 사용하는 것이 좋습니다. – Rui

+0

예 MVC 4를 사용하고 있습니다. 올바르게 준비된 이벤트가 발생했다는 것은 처음으로 페이지가로드되고 아약스 호출이 끝났을 때 실행되지 않을 때만 발생합니다. –

관련 문제