Heim >Backend-Entwicklung >C++ >Wie behandle ich mehrere Submit -Schaltflächen in ASP.NET MVC?

Wie behandle ich mehrere Submit -Schaltflächen in ASP.NET MVC?

Barbara Streisand
Barbara StreisandOriginal
2025-02-01 10:36:09294Durchsuche

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

Mehrere Einreichungsschaltflächen im ASP.NET MVC -Framework

ASP.NET CORE MVC -Framework ermöglicht die Verwendung mehrerer Einreichungsschaltflächen in einer einzelnen Form. Dies bietet die Flexibilität verschiedener Vorgänge basierend auf der Schaltfläche Klick.

Eine Möglichkeit, mehrere Übermittlungsschaltflächen zu verarbeiten, ist die Attribut -basierte Route. Das Folgende ist ein Beispiel:

Attribut:

Rasieransicht:

<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>

(Hier sollten wir den tatsächlichen Rasierer Code einfügen und Formulare anzeigen, die zwei Einreichungsschaltflächen enthalten, "Speichern" und "Abbrechen". Da der Originaltext nicht bereitgestellt wird, kann er hier nicht hinzugefügt werden.) Controller:

Durch diese Einstellungen wird die Schaltfläche "Speichern" an die "Speichern" -Operation übermittelt, und die Schaltfläche "Abbrechen" wird an die Operation "Abbrechen" übermittelt. Aktualisierung von Rasierseiten:

<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>

Auf Rasierseiten werden die gleichen Merkmale beim Öffnen der Box mit Land versehen. Sie können die folgende Syntax verwenden, ohne Attribute zu verwenden:

(Hier sollte es den tatsächlichen Code für Rasierer -Seiten enthalten, die Formulare anzeigen, die zwei Einsendetasten "speichern" und "abbrechen" und die Übergabe der -Heanweisungen enthalten. Da der Originaltext nicht bereitgestellt wird, kann er nicht nicht bereitgestellt, kann er nicht nicht bereitgestellt werden, kann er nicht nicht bereitgestellt werden, kann er nicht nicht bereitgestellt werden, kann er nicht kann hier hinzugefügt werden.)

In Ihrem Seitenverarbeitungsprogramm können Sie auf den Schaltfläche zugreifen, der von der Taste "Subulations-Button" im Formularsatz eingereicht wurde.

Das obige ist der detaillierte Inhalt vonWie behandle ich mehrere Submit -Schaltflächen in ASP.NET MVC?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn