Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah Saya Boleh Mengikat Senarai Item ke Paparan dengan Cekap dalam MVC 4?

Bagaimanakah Saya Boleh Mengikat Senarai Item ke Paparan dengan Cekap dalam MVC 4?

DDD
Lepaskan: 2024-12-30 04:18:28
asal
609 orang telah melayarinya

How Can I Efficiently Bind Lists of Items to Views in MVC 4?

Pengikatan Model Tersuai untuk Senarai dalam MVC 4

Mengikat senarai item (IList) pada paparan dalam MVC telah menjadi cabaran biasa untuk pemaju. Walaupun penyelesaian yang lebih lama wujud, MVC 4 memperkenalkan peningkatan yang memudahkan proses.

Untuk senario di mana setiap item dalam senarai memerlukan bentuknya sendiri untuk kemasukan data, pertimbangkan untuk menstruktur ViewModel anda seperti berikut:

public class MyViewModel
{
   public List<Person> Persons{get;set;}
}
Salin selepas log masuk

Dalam Paparan, dalam BeginForm:

@model MyViewModel


@for( int i = 0; i < Model.Persons.Count(); ++i)
{
    @Html.HiddenFor(m => m.Persons[i].PersonId)
    @Html.EditorFor(m => m.Persons[i].FirstName) 
    @Html.EditorFor(m => m.Persons[i].LastName)         
}
Salin selepas log masuk

Tindakan HttpPost akan menerima Model Paparan yang dikemas kini:

[HttpPost]public ViewResult(MyViewModel vm)
{
...
}
Salin selepas log masuk

Perhatikan bahawa pada postback, hanya sifat dengan input yang sepadan dalam borang akan mempunyai nilai. Ini kerana pengikatan model MVC mencari ID berturut-turut dan berhenti mengikat selepas menghadapi jurang. Oleh itu, adalah penting untuk memastikan semua item dalam senarai mempunyai ID yang sah dan tiada jurang dalam borang.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengikat Senarai Item ke Paparan dengan Cekap dalam MVC 4?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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