J’ai cette vue partielle rendue plusieurs fois sur une page:
@model POS.Domain.Entities.Category @Model.Name
Get Partial View function getView() { $('#divResult').load("@Url.Action("ProductList" , "Product", new {category = Model.Name})"); }
L’idée est que, lorsque quelqu’un clique sur le lien Get Partial View
, il charge la vue partielle générée par l’action ProductList
dans le contrôleur de Product
à l’aide de la valeur de catégorie Model.Name
et ajoute cette vue partielle au divResult
div approprié.
Le problème est qu’après le chargement de la page, si un utilisateur clique sur l’un des liens GetPartialView
, il charge la liste des produits contenus dans la dernière catégorie et les ajoute au div le plus haut divResult
.
J’espère un peu d’aide pour changer le script afin qu’il utilise jQuery pour charger correctement les informations. Je pense aussi que je ne devrais pas répéter le script chaque fois que cette vue partielle est chargée. . . Alors, comment écrirais-je le script jQuery approprié qui ferait ce qui suit lorsque l’utilisateur clique sur l’un des liens Get Partial View
:
@ModelName
) @Url.Action("ProductList", "Product", new {category = **that id**})";
divResult
qui se trouve dans le div parent. Nous avons trouvé deux étapes au-dessus de cette étape. Mettre à jour
Voici le code HTML de mon sharepoint vue:
Balls
Get Partial View function getView() { var $category = $(this).closest(".category"); var categoryName = $category.attr("id"); //var categoryName ="Balls"; $('.divResult').load("/Product/ProductList", {category: categoryName}); } Drinks
Get Partial View function getView() { var $category = $(this).closest(".category"); var categoryName = $category.attr("id"); //var categoryName ="Balls"; $('.divResult').load("/Product/ProductList", {category: categoryName}); }
Si je passe manuellement la valeur de Balls
à categoryName
– Je peux recevoir des produits de la catégorie Balls
, mais si j’utilise var categoryName = $(this).closest(".category").attr("id");
Je suis undefined
.
Peut-être que voir le HTML aidera?