web-dev-qa-db-fra.com

Mise à jour de la vue partielle avec jQuery dans ASP.NET MVC C #

J'utilise mvc c # avec jQuery.

J'ai une vue partielle dans une page assez grande qui a un nombre d'onglets.

En cliquant sur une case à cocher, j'aime mettre à jour la vue partielle dans le formulaire. Ce que je reçois à la place est juste la vue partielle

Voici mon code à JQuery:

   $('#activelist,#inactivelist').change(function () {

        var status = 'inactive';
        window.location.href = '@Url.Action("Skits","KitSection")' + '?id=' + id+ '&status=' + status;

    });

Avez-vous une idée de la manière dont je pourrais mettre à jour la vision partielle dans un formulaire en termes de comment je vais appeler un appel?

Voici le code pour le partielview

     return PartialView(Kits);

Comme mentionné, ce que je vois est juste la vue partielle affichée et non la forme entière.

13
Nate Pet

window.location.href Rechargera la page entière. Vous devez recharger une partie de votre page sans rechargement complet. Nous pouvons utiliser JQuery Ajax pour le faire. Découvrons ce que le sélecteur JQuery vous pouvez utiliser pour obtenir le partialview.

Par exemple, supposez que votre marquage HTML est comme celui-ci dans la forme principale (vue)

<div>
  <p>Some content</p>
  <div id="myPartialViewContainer">
      @Html.Partial("_FeaturedProduct")
  </div>
  <div>Some other content</div>
</div>

Et ici la DIV avec ID _ _ myPartialViewContainer est le conteneur div, qui contient le contenu de la partial view. Nous allons donc simplement recharger le contenu de cette div en utilisant jQuery charge méthode

$(function(){

   $('#activelist,#inactivelist').change(function () {
      var id="someval"; 
      var status = 'inactive';
      $("#myPartialViewContainer").load('@Url.Action("Skits","KitSection")' + '?id=' + id+ '&status=' + status)
  });

});
29
Shyju

Vous redirigez l'utilisateur, via la propriété Window.Location.href, à l'URL de votre partielle, ce n'est donc que l'affichant que partiel.

Vous devriez plutôt faire un AJAX Appelez-vous au partiel pour la récupérer, puis utilisez quelque chose comme la méthode .append pour l'ajouter à l'élément de conteneur que vous souhaitez ajouter.

Modifier: La méthode .Load () JQuery Ajax est en fait meilleur pour cette situation spécifique.

3
jamesmillerio