MVC appel de méthode sur cliquez avec / sans publication
J'ai une question concernant la méthode d'appel de la vue.
Fondamentalement sur mon point de vue, j'ai 2 liens:
Lien 1 : Quand je clique dessus, une méthode doit être appelé et exécuté, mais rien ne doit changer dans la page, donc pas de publication.
2 lien: Lorsque je clique dessus, une méthode qui devrait arriver et publication peut arriver, sur la même page
Dans le contrôleur, j'ai:
public ActionResult FirstMethod(){ return View();}
public ActionResult SecondMethod(){ return View();}
En vue:
@Html.ActionLink("Action 1", "FirstMethod", "Controller");
@Html.ActionLink("Action 2", "SecondMethod", "Controller");
Alors, quand je clique sur l'action qui se passe, mais ensuite j'ai une erreur disant de ne pas trouver FirstMethod.chtml ..
Alors, est-ce possible d'avoir une méthode avec la publication et un autre sans? Et comment revenir à la même page ... et de ne pas essayer d'obtenir FirstMethod.chtml ..
Vous devez vous connecter pour publier un commentaire.
Solution suivante est basée sur AJAX -
Contrôleur -
Index.cshtml -
Naviguer vers /demo/Index, qui permettra d'afficher la page avec balisage ci-dessus avec un bouton dans la page. Et lorsque l'on clique sur le Cliquez sur bouton, nous ont -
La
@Html.ActionLink
méthode fondamentalement juste vous envoie au contrôleur spécifié-action, vous ne pouvez pas changer cela, puisque c'est le but de la méthode.Vous avez à gérer le clic du côté client, et de lier une action spécifique à ce post (certaines données à une url, et de ne rien faire par la suite). D'une façon assez facile de faire cela est d'utiliser jQuery.Post
Exemple à partir du dessus de jquery lien.
En fait, il n'y a pas de publication concept asp.net mvc. toutes les interactions avec le serveur via le contrôleur/action.
@Html.ActionLink() méthode de générer un lien(balise html) et de ne rien faire. tout ce qui se passe après que vous envoyez une demande(cliquez le lien) pour contrôleur/action, si vous voulez ne rien faire quand on clique sur le lien, vous feriez mieux d'utiliser AJAX méthode comme ceci
Vous pouvez simplement retourner un autre point de vue après que vous avez fait ce que vous vouliez dans votre contrôleur de l'action:
Après que vous avez vu cela, vous serez plus que probablement être dégoûté par l'utilisation de la magie des chaînes de référence des vues ou des contrôleurs et que le dégoût est tout à fait compréhensible 🙂
Alors vous devriez regarder si quelque chose comme T4MVC pourrait s'adapter à vos besoins.