Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk mengendalikan pelbagai butang hantar dalam borang ASP.NET MVC?

Bagaimana untuk mengendalikan pelbagai butang hantar dalam borang ASP.NET MVC?

DDD
Lepaskan: 2025-02-01 10:51:09
asal
234 orang telah melayarinya

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

Proses berbilang butang penyerahan dalam asp.net mvc

Artikel ini membincangkan cara menguruskan pelbagai butang penyerahan dalam bentuk yang sama. Pertimbangkan kod HTML berikut, yang mentakrifkan borang yang mengandungi dua butang penyerahan "Hantar" dan "Batal":

<code>(此处应插入包含两个提交按钮的表单HTML代码示例)</code>
Salin selepas log masuk
Secara amnya, apabila memproses borang dalam ASP.NET MVC, rangka kerja bergantung pada nama butang untuk menentukan kaedah operasi yang berkaitan untuk dilaksanakan. Walau bagaimanapun, dalam hal berbilang butang di atas, kaedah ini akan menjadi rumit.

Untuk menyelesaikan masalah ini, artikel ini mencadangkan atribut tersuai yang dipanggil

. Atribut ini digunakan untuk memintas proses pemprosesan operasi dan menilai sama ada permintaan yang diperkenalkan diperolehi dari butang penyerahan tertentu. Jika anda mencari item yang sepadan, kenal pasti dan hubungi kaedah operasi yang sepadan. MultipleButtonAttribute

[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;
    }
}
Salin selepas log masuk
<受> Terima dua parameter:

dan MultipleButtonAttribute. Name Atribut digunakan untuk mengenal pasti nama butang hantar, dan atribut Argument mewakili nilai yang berkaitan dengan butang. Name Argument Untuk menggunakan <应>, kod HTML borang harus diubahsuai untuk mengandungi nama atribut dan nilai parameter. Contohnya:

Dalam pengawal, kaedah operasi yang sepadan harus dihiasi dengan MultipleButtonAttribute, dan nilai

dan
<code>(此处应插入修改后的包含属性的表单HTML代码示例)</code>
Salin selepas log masuk
yang betul:

MultipleButtonAttribute Name Menggunakan kaedah ini, rangka kerja MVC ASP.NET kini boleh memetakan dengan tepat penyerahan kepada kaedah operasi yang sesuai, untuk mengendalikan butang penyerahan dengan betul dalam bentuk yang sama. Argument

Atas ialah kandungan terperinci Bagaimana untuk mengendalikan pelbagai butang hantar dalam borang ASP.NET MVC?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan