Question

J'ai une vue et un contrôleur dans mon ASP.net MVC application.

J'ai un bouton « Envoyer » et un bouton « Annuler » à mon avis.

Lorsque je clique sur l'un des botton ci-dessous l'action sera déclenchée.

AcceptVerbs (HttpVerbs.Post)

public ActionResult Résultat ()

{

}

Maintenant, la question est de savoir comment je vais savoir dans mon public ActionResult Résultat (), que ce soit après retour dû au fait de « Soumettre » ou « Annuler » ??

Était-ce utile?

La solution

vous pouvez essayer comme

function OnBeginRequest(sender, args) {
        var postBackElement = args.get_postBackElement();
if ((postBackElement.id == '<%= btnSave.ClientID %>')
  {

  }
}

Autres conseils

Vous pouvez résoudre le problème en procédant comme suit:

i. Placez un champ caché appelé « annuler » sous la forme de votre vue. Donnez-lui une valeur par défaut de false .

ii. En cas onclick pour votre bouton Annuler, ajoutez le script suivant:

document.getElementById('cancel').value = true; document.getElementById('myForm').submit();

Changement 'myForm' être le nom de votre formulaire.

iii. Changer à la suite de la signature de la méthode pour le résultat ():

public ActionResult Result(bool cancel)

Par modèle de liaison, la valeur de votre champ caché « annuler » sera accessible à la signature de votre méthode d'action.

Merci pour les réponses. Un plus je suis arrivé est la solution,

public ActionResult Result()
    {
        if (Request.Params.ToString().IndexOf("btnSubmit") > 0)
            //
        else
            //
    }

Je suggère que votre bouton « annuler » ne doit pas soumettre le formulaire. Il y a plusieurs façons de gérer cela, mais la plus simple serait d'avoir un événement onclick javascript sur le bouton qui permet d'y retourner la page précédente. (history.go(-1)) Si cela ne répond pas à vos besoins, vous pouvez également spécifier un itinéraire spécifique pour naviguer. Le plus complexe serait d'intercepter le clic sur le côté client et décider quelle route a frappé, mais je généralement que faire si je veux avoir plusieurs boutons de soumission du formulaire qui frappera différentes actions, et c'est une situation assez rare.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top