Maison >développement back-end >C++ >Comment gérer plusieurs boutons de soumission dans ASP.NET MVC?

Comment gérer plusieurs boutons de soumission dans ASP.NET MVC?

Barbara Streisand
Barbara Streisandoriginal
2025-02-01 10:36:09294parcourir

How to Handle Multiple Submit Buttons in ASP.NET MVC?

Boutons de soumission multiples dans le framework ASP.NET MVC

ASP.NET CORE MVC Framework permet d'utiliser plusieurs boutons de soumission sous une seule forme. Cela offre la flexibilité des différentes opérations en fonction du bouton Click.

Une façon de gérer plusieurs boutons de soumission est l'itinéraire basé sur l'attribut. Ce qui suit est un exemple:

Attribut:

Vue de rasoir:

<code class="language-csharp">[AttributeUsage(AttributeTargets.Method, AllowMultiple = false, Inherited = true)]
public class MultipleButtonAttribute : ActionNameSelectorAttribute
{
    public string Name { get; set; }
    public string Argument { get; set; }

    public override bool IsValidName(ControllerContext controllerContext, string actionName, MethodInfo methodInfo)
    {
        bool isValidName = false;
        string keyValue = string.Format("{0}:{1}", Name, Argument);
        ValueProviderResult value = controllerContext.Controller.ValueProvider.GetValue(keyValue);

        if (value != null)
        {
            controllerContext.Controller.ControllerContext.RouteData.Values[Name] = Argument;
            isValidName = true;
        }

        return isValidName;
    }
}</code>

(Ici, nous devons inclure le code de rasoir réel, affichant des formulaires contenant deux boutons de soumission, "Enregistrer" et "Annuler". Étant donné que le texte d'origine n'est pas fourni, il ne peut pas être ajouté ici.) Contrôleur:

Grâce à ces paramètres, le bouton "Enregistrer" est soumis à l'opération "Enregistrer" et le bouton "Annuler" est soumis à l'opération "Annuler". Mise à jour des pages de rasoir:

<code class="language-csharp">[HttpPost]
[MultipleButton(Name = "action", Argument = "Save")]
public ActionResult Save(MessageModel mm) { /* 保存操作 */ }

[HttpPost]
[MultipleButton(Name = "action", Argument = "Cancel")]
public ActionResult Cancel(MessageModel mm) { /* 取消操作 */ }</code>

Dans les pages de rasoir, les mêmes fonctionnalités sont fournies avec un terrain lors de l'ouverture de la boîte. Vous pouvez utiliser la syntaxe suivante sans utiliser d'attributs:

(Ici, il devrait inclure le code réel des pages de rasoir, affichant des formulaires contenant deux boutons de soumission, "Enregistrer" et "annuler" et comment passer les instructions . Étant donné que le texte d'origine n'est pas fourni, il ne peut pas être fourni, il ne peut pas être fourni, il ne peut pas être fourni, être ajouté ici.)

Dans votre programme de traitement de page, vous pouvez accéder à la valeur du bouton soumise par la clé "Button de soumission" dans l'ensemble de formulaires.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn