2011-03-09 13 views
5

Ben MusicStore uygulaması olan this tutorial on codeplex üzerinden gidiyorum. Bir senario'da alışveriş sepetine müzik kayıtları ekliyor. Daha sonra, kullanıcıların bunu kaldırmasına da izin verir. Anlayışımdan kontrolörde uygulanan bir Ajax geri bildirimi ile bunu yapıyor.MVC (3) handleUpdate

Beni şaşırtan şey, aynı sayfada bildirilen "handleUpdate()" adlı bir JavaScript işlevinin referansları olduğudur. Alışveriş sepetini sepetten çıkarıldıktan sonra güncellemek gibi görünüyor. Her yerden çağrıldığını göremiyorum. Herkes nasıl ve ne zaman çağrıldığını açıklayabilir mi?

+0

MVC sağlar (bu durumda kendi handleUpdate olarak) bazı yerleşik olay bildirimi vardır şüphelenen nedeniyle bu derste ben bu soruyu sordum sebebi nedir? ya da başka bir yerde bildirir miyiz, bu durumda, bir sebepten dolayı bulamadım. Teşekkürler – daehaai

cevap

4

Bu kodda başvurulan, ancak öğreticide belirtilmiştir. Bana kalan bir şey gibi görünüyor. http://www.asp.net/mvc/tutorials/mvc-music-store-part-8 den

Alıntı:

... yerine sepeti öğeleri kaldırmak için bir Html.ActionLink kullanmak yerine, yaparız kullanım Ajax.ActionLink:

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

Bu yöntem çok benzer bir şekilde Html.ActionLink yardımcı yöntemine çalışır, ancak formu göndermek yerine sadece bir AJ yapar Bizim RemoveFromCart için AX geri çağırma. RemoveFromCart , bu durumda AjaxOptions OnSuccess parametresi - handleUpdate parametresinde belirtilen JavaScript yöntemine otomatik olarak geçirilen bir JSON serileştirilmiş sonucu, döndürür. handleUpdate JavaScript işlevi JSON sonuçlarını ayrıştırır ve jQuery kullanarak sayfa dört hızlı güncellemeleri gerçekleştirir:

  1. listeye
  2. Güncellemeler başlığındaki sepeti sayımı silinen albüm kaldırır
  3. görüntüler kullanıcı
  4. bir güncelleme mesajı sepeti toplam fiyat günceller
Bkz
+0

Bunun üzerinde durmuş olmalı, teşekkürler Daniel. – WiseGuy