2013-07-21 16 views
8

sto avendo un po 'di problemi con l'aggiornamento di un PartialView su mvc4, ecco il codice:Refresh solo vista parziale in 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> 

Quando si preme uno dei pulsanti per la prima volta, si rende la vista parziale all'interno del DIV, ma quando premo di nuovo, non succede nulla, quale sarebbe la causa?

+0

Quali sono u usando 'e.preventDefault();'? –

+0

Era un vecchio codice e ho dimenticato di rimuoverlo, mi dispiace –

risposta

11

tenta di utilizzare questo delegato per gestire cliccare evento

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

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

      }); 
+0

Ha funzionato! ma perché? qual è la differenza tra questo e quello che stavo facendo? –

+0

Questo delegato lavora in un elemento personale di dom, mentre il gestore di clic semplice che funziona con tutti gli elementi e il delegato "on" supporterà nelle nuove versioni di jquery e altri metodi "bind" e "clic" non saranno supportati. –

+0

oh, capisco ... Grazie! –