2009-07-02 10 views
2

Est-ce que quelqu'un a la sauce spéciale pour suivre un post ajax jQuery Form à une méthode de contrôleur forçant un rafraîchissement à un PartialView existant sur la même page? Est-ce que cela implique de ramener le HTML partiel et de l'ajouter ou est-ce que je peux simplement provoquer une actualisation magique de PartialView?Actualiser PartialView via jQuery après Ajax Post

Merci d'avance. Doug

Voici mon RenderPartial le formulaire ci-dessous .... veulent rafraîchir la RenderPartial de mon appel ajax en dessous de ce ...

<% Html.RenderPartial("p_Offers", Model.Offers); %> 

<h2>Make an Offer</h2> 
<form id="makeOffer" action="/post/makeoffer/<%=Model.Id %>" method="post"> 
    <div class="grid_2 alpha"><label>Comment</label></div> 
    <div class="grid_6 omega"><%= Html.TextBox("Comment")%></div> 

    <div class="grid_2 alpha"><label>Payment Terms</label></div> 
    <div class="grid_6 omega"><%= Html.TextArea("PaymentTerms")%></div> 

    <div class="grid_2 alpha"><label>Amount</label></div> 
    <div class="grid_6 omega"><%= Html.TextBox("Amount")%></div> 

    <div class="prefix_2"> 
     <label>Tentative <input type="radio" checked="checked" name="Confirmed" value="Tentative" /></label> 
     <label>Confirmed <input type="radio" name="Confirmed" value="Confirmed" /></label> 
    </div> 

    <div class="prefix_2"> 
     <input type="submit" value="Make Offer" /> 
    </div> 
</form> 

est ici l'appel ajax ....

+1

Avez-vous obtenu cela au travail? – Picflight

Répondre

1

Si vous encapsulez la vue partielle dans un div et renvoyez le balisage de la vue partielle , vous pouvez simplement utiliser le rappel .post pour remplacer/ajouter le nouveau balisage.

Notez que ce qui suit remplace le balisage partiel entier. Vous pouvez facilement changer cela pour utiliser .append() si c'est ce que vous voulez.

$.post(action, 
     serializedform, 
     function(html) { 
      $('#viewWrapperDiv').html(html); 
      //$('#viewWrapperDiv').append(html); 
     } 
); 
Questions connexes