2011-03-09 5 views
5

나는 MusicStore 응용 프로그램 인 this tutorial on codeplex으로 가고 있습니다.MVC (3) handleUpdate

senario에서는 쇼핑 바구니에 음악 레코드를 추가하고 있습니다. 그런 다음 사용자가이를 제거 할 수도 있습니다. 내 이해에서 그것을 컨트롤러에서 구현되는 Ajax 다시 게시를 통해 않습니다.

나를 괴롭히는 것은 동일한 페이지에 선언 된 "handleUpdate()"라는 JavaScript 함수에 대한 참조가 있다는 것입니다. 예를 들어 항목이 바구니에서 제거 된 후에 쇼핑 바구니를 업데이트하는 것으로 보입니다. 나는 어디에서나 호출되는 것을 볼 수 없습니다. 아무에게도 전화를하는 방법과시기를 설명해 주시겠습니까?

+0

이 질문을 한 이유는 MVC에서 제공하는 내장 이벤트 선언 (이 경우에는 handleUpdate)이 있다고 의심되기 때문입니다. 또는 우리는 그것을 다른 곳에서 선언 할 것인데, 어떤 경우에 그것을 발견 할 수 없었습니다. 감사합니다 – daehaai

답변

4

코드에서 참조되지 않지만 튜토리얼에 언급되어 있습니다. 나에게 남은 것 같다. http://www.asp.net/mvc/tutorials/mvc-music-store-part-8에서

인용구 :

... 대신 카트에서 항목을 제거하는 Html.ActionLink 를 사용하여, 우리 거 사용 Ajax.ActionLink가 :

@Ajax.ActionLink("Remove from cart", "RemoveFromCart", 
new { id = item.RecordId }, new AjaxOptions { OnSuccess = "handleUpdate" }) 

이 방법은 Html.ActionLink 도우미 메서드와 매우 유사하게 작동하지만 은 AJ를 만드는 대신 폼을 게시하는 대신 AXF에서 RemoveFromCart로 콜백합니다. RemoveFromCart 은 JSON 직렬화 된 결과를 반환하며이 경우에는 AjaxOptions OnSuccess 매개 변수 -handleUpdate에 지정된 JavaScript 메서드에 자동으로 전달됩니다. handleUpdate 자바 스크립트 기능 는 JSON 결과를 구문 분석하고 jQuery를 사용하여 페이지에 네 빠른 업데이트 수행

  1. 목록
  2. 업데이트 헤더의 카트 카운트에서 삭제 된 앨범을 삭제를
  3. 표시 사용자에 대한 업데이트 메시지
  4. 카트 총액 업데이트
+0

이상이 있어야합니다 다니엘 감사합니다. – WiseGuy