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

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

Barbara Streisand
Lepaskan: 2025-02-01 10:36:09
asal
293 orang telah melayarinya

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

Butang penyerahan berganda dalam kerangka MVC ASP.NET

Rangka Kerja MVC Asp.NET membolehkan menggunakan butang penyerahan berganda dalam satu bentuk. Ini memberikan fleksibiliti operasi yang berbeza berdasarkan butang klik.

Satu cara untuk mengendalikan pelbagai butang penyerahan ialah laluan berasaskan atribut. Berikut adalah contoh:

Atribut

:

Pandangan Razor:

[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

(di sini kita harus memasukkan kod pisau cukur sebenar, memaparkan borang yang mengandungi dua butang penyerahan, "Simpan" dan "Batal". Oleh kerana teks asal tidak disediakan, ia tidak boleh ditambah di sini.) <制> pengawal:

Melalui tetapan ini, butang "Simpan" dikemukakan kepada operasi "Simpan", dan butang "Batal" dikemukakan kepada operasi "Batal".

Kemas kini halaman Razor:

[HttpPost]
[MultipleButton(Name = "action", Argument = "Save")]
public ActionResult Save(MessageModel mm) { /* 保存操作 */ }

[HttpPost]
[MultipleButton(Name = "action", Argument = "Cancel")]
public ActionResult Cancel(MessageModel mm) { /* 取消操作 */ }
Salin selepas log masuk
Di halaman Razor, ciri -ciri yang sama disediakan dengan tanah ketika membuka kotak. Anda boleh menggunakan sintaks berikut tanpa menggunakan atribut:

(di sini ia harus memasukkan kod halaman cukur sebenar, memaparkan borang yang mengandungi dua butang hantar, "simpan" dan "membatalkan", dan bagaimana untuk lulus arahan

kerana teks asal tidak disediakan, ia tidak boleh ditambah di sini.) Dalam program pemprosesan halaman anda, anda boleh mengakses nilai butang yang dikemukakan oleh kekunci "Hantar butang" dalam set borang.

Atas ialah kandungan terperinci Bagaimana untuk mengendalikan pelbagai butang hantar dalam 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan