berjaya menyiarkan array borang di asp.net mvc
Artikel ini menangani cabaran yang dihadapi apabila mengemukakan data borang yang mengandungi array dalam aplikasi ASP.NET MVC menggunakan C# dan .NET Framework 4.5.1 atau lebih baru. Tumpuannya adalah dengan betul menyiarkan dan mengambil data array borang dalam kaedah tindakan pengawal.
Memahami Array Mengikat dalam Asp.net Mvc
Dalam ASP.NET MVC, tatasusunan dikendalikan sebagai koleksi, biasanya atau IEnumerable
. Data bentuk yang betul mengikat ke koleksi ini memerlukan sintaks dan pengisytiharan model tertentu. IList
kod yang disemak semula untuk pos array yang berjaya
Berikut adalah pendekatan yang lebih baik untuk memastikan penyerahan dan pengambilan array yang berjaya:
markup borang (contoh):
@using (Html.BeginForm("Save", "ConnectBatchProduct", FormMethod.Post)) { <!-- ... your form elements here ... --> }
Kaedah tindakan pengawal:
[HttpPost] public ActionResult Save(ConnectBatchProductViewModel model) { // Process the model.BatchProducts collection here // ... }
Pengisytiharan Model:
Pastikan model anda termasuk harta yang diisytiharkan sebagai ConnectBatchProductViewModel
(atau IList<BatchProductViewModel>
) untuk menerima data array dengan betul. IEnumerable<BatchProductViewModel>
skrip jQuery yang diubahsuai (contoh):
$("#addrow").click(function() { var index = (new Date()).getTime(); var clone = $('#NewBatchProduct').clone(); clone.find('[name]').each(function() { $(this).attr('name', $(this).attr('name').replace(/\[#\]/g, '[' + index + ']')); }); $("table.order-list").append(clone); });
dan mengemas kini atribut name
untuk memasukkan indeks unik. name
Pertimbangan utama:
IList<T>
, di mana IEnumerable<T>
adalah model pandangan elemen array individu anda.
T
BatchProducts[0].ProductName
BatchProducts[1].ProductName
Atas ialah kandungan terperinci Bagaimana untuk berjaya menyiarkan array borang di ASP.NET MVC?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!