2013-07-21 22 views
8

Mam trochę kłopotów z odświeżanie PartialView na mvc4, oto kod:Odśwież tylko częściowy widok w MVC4

<div id="partialViewDiv"></div> 

    <input type="button" id="firstPartialLink" value="Change Div"/> 
    <input type="button" id="secondPartialLink" value="Change Div"/> 

    <script type="text/javascript"> 
     $(function() { 
      $("#firstPartialLink").click(function() { 

       $("#partialViewDiv").load('@Url.Action("GetDiv", "Home")'); 

      }); 

      $("#secondPartialLink").click(function() { 

       $("#partialViewDiv").load('@Url.Action("GetDiv2", "Home")'); 
      }); 
     }) 

    </script> 

Po naciśnięciu jednego z przycisków po raz pierwszy, to świadczy częściowy widok wewnątrz DIV, ale kiedy ponownie go wciskam, nic się nie dzieje, jaka byłaby przyczyna?

+0

Co u użyciem 'e.preventDefault();'? –

+0

To był stary kod i zapomniałem go usunąć, przepraszam –

Odpowiedz

11

spróbować użyć tego delegata do obsługi zdarzenia Click

  $(document).on("click","#firstPartialLink",function() { 

       $("#partialViewDiv").load('/Home/GetDiv',function(html) { if need it}); 

      }); 
+0

To zadziałało! ale dlaczego? jaka jest różnica między tym a tym, który robiłem? –

+0

Pozwolić temu delegatowi pracować w jednym osobistym elemencie dom, podczas gdy prosty moduł obsługi kliknięć działający ze wszystkimi elementami i delegat "on" będzie obsługiwał w nowych wersjach jquery, a inne metody "bind" i "click" nie będą obsługiwane. –

+0

oh, widzę ... Dziękuję! –

Powiązane problemy