2008-11-17 11 views
1

Étant donné une vue ASP.NET MVC qui génère une table d'entrées à l'aide d'une boucle "for", quel est le meilleur moyen d'ajouter un lien "delete" pour chacune des lignes du tableau? Ma première intuition serait d'utiliser jQuery pour faire un appel AJAX pour supprimer la ligne, puis rafraîchir la table. Il semble qu'il devrait y avoir un moyen plus facile cependant. Peut-être faire en sorte que le lien effectue une publication sur une URL de suppression (par exemple/Item/Delete/1) qui redirigerait vers la page affichant les éléments?La meilleure façon d'implémenter la suppression dans ASP.NET MVC "gridview"?

Répondre

4

les deux sont des moyens acceptables, et en fait exactement les mêmes.

Dans la première, vous utilisez AJAX pour publier sur l'URL et AJAX pour actualiser la table. Dans la seconde, vous n'utilisez pas AJAX.

Dans tous les cas, publier l'identifiant à supprimer dans la méthode ActionMethod (j'utiliserais Destroy, mais c'est une préférence personnelle) est la solution.

Pour faire encore mieux faire quelque chose comme ça ...

[AcceptVerbs(HttpVerbs.Delete)] 
    public ActionResult Detail (int id) 
    { 
     // Add action logic here 

    } 
+0

l'avenir de la poste de Kyle, certains serveurs web refusent les demandes de suppression, et par conséquent, vous devrez peut-être à fallback POST'ing l'ID. Je ne pense pas qu'il faudra cependant beaucoup de changement (peut-être, juste en ajoutant le Post HttpVerb). –

Questions connexes