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;} }
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) }
Tindakan HttpPost akan menerima Model Paparan yang dikemas kini:
[HttpPost]public ViewResult(MyViewModel vm) { ... }
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!