2012-03-05 3 views
0

J'ai eu ce lien:Modification Ajax.ActionLink dans MVC3

@Ajax.ActionLink("Delete", "Delete", new { deleteID = menu.MenuID.ToString(), unDelete = 1 }, new AjaxOptions { UpdateTargetId = menu.MenuID.ToString() }, new { id = menu.MenuID.ToString() }) 

Quand il est pressé, je veux changer à 0. la valeur de Undelete Mais je ne sais pas comment pour modifier la valeur de la méthode d'action. Voici ma méthode d'action:

 public ActionResult Delete(string deleteID, int unDelete) 
    { 
     _gMenus.DeleteTopic(int.Parse(deleteID), unDelete); 
     return Content("Undelete"); 
    } 

je pourrais définir le contenu/texte du lien, mais pas l'attribut, est-il un moyen de changer l'attribut. Et aussi, je fais des suppressions avec ajax (par Get et pas post) est-il dangereux!?!

MISE À JOUR:

<a class="deleteLink" data-ajax="true" data-ajax-mode="replace" data-ajax-update="#1" href="/Admin/Delete?deleteID=1&amp;unDelete=1" id="1">Delete</a> 

Je dois Undelete à remplacer à 0

J'ai essayé de faire quelque chose comme ceci:

alert(
$(".deleteLink").attr("href", "/Admin/Delete?deleteID=1&amp;unDelete=0").attr() 
); 

Mais aucun message apparaît :(

Répondre

0

quand j'ai cherché sur cette question, j'ai trouvé un le solution suivante. Mais je ne pouvais pas essayer de vérifier la answer

Selon que vous pouvez utiliser jQuery pour remplacer la propriété

$("#IdOfActionLink").click(function() { 

    this.href = this.href.replace("1", "0"); 
}); 

Cela a des problèmes je suppose que remplacer tous les « 1 » par « 0 », mais espérons que cette aide vous d'avoir une idée

Cordialement

+0

hmmm..that ruins ma logique un bit..cause cela signifie que je dois abandonner la logique d'action – BlackFire27

+0

oui, mais vous pouvez faire un appel Ajax à votre action en contrôleur dans l'événement de clic. – Jayanga

+0

il ne remplace pas la variable url..look à la mise à jour pour voir à quoi il ressemble – BlackFire27