2009-03-20 7 views
1

J'ai la balise form ajax suivante:Remplacement d'un <tr> en utilisant Ajax ASP.MVC

Lorsque le formulaire est soumis, le contrôleur renvoie une partie d'une rangée complète à insérer dans la table (même partielle est également utilisé pour rendre la table en premier lieu).

L'idée est que lorsque l'utilisateur édite un élément, la ligne de ce produit dans la table sera remplacée par la version mise à jour de la partie. Quand je signale UpdateTargetId à un élément <div> il semble fonctionner très bien, mais quand je signale à un élément <tr>, il ne fonctionne pas.

Toute aide serait grandement apprécié.

Répondre

0

Je fini par changer mon approche. J'ai changé le contrôleur pour retourner les valeurs de l'objet dans jason et la fonction js de la vue mettait simplement à jour le contenu de la ligne du tableau avec les nouvelles valeurs. Ça semble fonctionner correctement maintenant.

+0

donc marquez-le comme la réponse acceptée! – darasd

0

Je suppose que votre partielle rend effectivement toute la ligne. Dans ce cas, la sémantique de remplacement par défaut ne fonctionnera pas pour l'élément <tr> puisque vous insérez une nouvelle ligne dans la ligne existante et obtenir quelque chose comme:

<tr><tr>...new contents</tr></tr> 

Vous voudrez peut-être envisager de modifier la InsertionMode (J'oublie les autres options potentielles) ou avoir votre partiel générer juste le contenu de la ligne, à savoir, les éléments <td> au lieu de la ligne elle-même.

+0

Le partielle renvoie uniquement la partie interne de la rangée, il ne comprend pas les tags. – Gil

+0

Pouvez-vous montrer le balisage où la ligne est créée? – tvanfosson

Questions connexes