2011-05-19 2 views
0

J'essaie d'appeler mon action Enfant en cliquant sur un lien. Fondamentalement, ce que je sais, c'est que les actions enfants sont appelées avec la méthode @ Html.Action(). Mais cette méthode est invoquée automatiquement dans notre vue. J'essaie d'utiliser @ Html.ActionLink() mais cela ne fonctionne pas. Est-il possible que nous puissions appeler nos actions enfant en cliquant sur un lien.Invoquer une action enfant en cliquant sur un lien

Merci d'avance.

Répondre

0

Vous pouvez utiliser un lien AJAX qui appelle l'action et injecte le résultat partiel dans le DOM. Par exemple en supposant que vous avez les actions suivantes:

public ActionResult Foo() 
{ 
    return PartialResult(); 
} 

vous pouvez écrire un lien d'action et un div pour maintenir les résultats:

@Html.ActionLink("click me", "someaction", "somecontroller", null, new { id = "mylink" }) 
<div id="result"></div> 

puis dans un fichier javascript séparé AJAXify ce lien:

$(function() { 
    $('#mylink').click(function() { 
     $('#result').load(this.href); 
     return false; 
    }); 
}); 
+0

Bonjour @Darin. Merci pour l'aide. Mais pouvez-vous suggérer une façon dont je ne dois pas faire face à Ajax. Parce que si je veux utiliser Ajax alors je pourrais probablement maintenant utiliser des actions enfant dans mon cas. – Jash

+0

@Jash, si vous ne voulez pas utiliser AJAX quand un lien est cliqué, une publication complète sera effectuée sur le serveur. Donc, à l'intérieur de la vue qui en résulte, vous pouvez inclure l'action enfant en utilisant Html.Action. –

Questions connexes