Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah Saya Boleh Mengikat Senarai dengan Berkesan pada Paparan dalam ASP.NET MVC 4 Semasa HttpPost?

Bagaimanakah Saya Boleh Mengikat Senarai dengan Berkesan pada Paparan dalam ASP.NET MVC 4 Semasa HttpPost?

Barbara Streisand
Lepaskan: 2024-12-27 21:03:13
asal
937 orang telah melayarinya

How Can I Effectively Bind a List to a View in ASP.NET MVC 4 During HttpPost?

Model Mengikat kepada Senarai dalam MVC 4

Apabila cuba untuk mengikat ILlist item pada paparan dalam MVC 4, isu boleh timbul semasa HttpPost. Untuk menangani cabaran ini, pertimbangkan corak berikut:

ViewModel:

Buat ViewModel yang mengandungi ILlist item:

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

Paparan:

Dalam paparan, ulangi IList dan jana input borang untuk setiap harta:

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

Dalam kaedah tindakan, kendalikan objek MyViewModel yang disiarkan:

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

Pertimbangan:

  • Hanya sifat dengan input yang sepadan dalam paparan akan mempunyai nilai pada HttpPost.
  • Pengikatan model MVC hanya berfungsi untuk ID berturut-turut. Jika anda menyembunyikan item secara bersyarat, data mungkin tidak terikat dengan betul.
  • Untuk menyelesaikan isu jurang dalam ID, pertimbangkan untuk menggunakan penyelesaian ini:
@for( int i = 0; i < Model.Persons.Count(); ++i)
{
    @Html.Hidden($"Persons[{i}].PersonId", Model.Persons[i].PersonId)
    @Html.Editor($"Persons[{i}].FirstName", Model.Persons[i].FirstName) 
    @Html.Editor($"Persons[{i}].LastName", Model.Persons[i].LastName)           
}
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengikat Senarai dengan Berkesan pada Paparan dalam ASP.NET MVC 4 Semasa HttpPost?. 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan