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
Barbara Streisandasal
2025-02-01 10:36:09293semak imbas

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:

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

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

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