Heim > Backend-Entwicklung > C++ > Wie kann die Modellbindung mit Listen in ASP.NET MVC 4 effektiv gehandhabt werden?

Wie kann die Modellbindung mit Listen in ASP.NET MVC 4 effektiv gehandhabt werden?

Susan Sarandon
Freigeben: 2025-01-03 09:32:39
Original
766 Leute haben es durchsucht

How to Effectively Handle Model Binding with Lists in ASP.NET MVC 4?

Modellbindung an eine Liste in MVC 4

Beim Versuch, eine IList von Elementen an eine Ansicht zu binden, können Probleme mit der HttpPost-Methode auftreten. Obwohl hilfreiche Ressourcen wie der Artikel von Phil Haack vorhanden sind, spiegeln sie möglicherweise nicht die potenziellen Aktualisierungen in MVC 4 wider. Um dieses Problem zu beheben, untersuchen wir eine detaillierte Lösung.

ViewModel-Konfiguration

public class MyViewModel
{
   public List<Person> Persons{get;set;}
}
Nach dem Login kopieren

Implementierung anzeigen

@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)         
}
Nach dem Login kopieren

Aktion Methode

[HttpPost]public ViewResult(MyViewModel vm)
{
...
}
Nach dem Login kopieren

Überlegungen

Beachten Sie, dass nur Eigenschaften mit Eingabefeldern nach dem Postback Werte haben. Darüber hinaus erkennt die Modellbindung von MVC nur aufeinanderfolgende IDs. Betrachten Sie dieses Beispiel, in dem ein Element bedingt ausgeblendet ist:

@for( int i = 0; i < Model.Persons.Count(); ++i)
{
    if(i != 4)//conditionally hide 5th item, 
    { //but BUG occurs on postback, all items after 5th will not be bound to the the list
      @Html.HiddenFor(m => m.Persons[i].PersonId)
      @Html.EditorFor(m => m.Persons[i].FirstName) 
      @Html.EditorFor(m => m.Persons[i].LastName)           
    }
}
Nach dem Login kopieren

In diesem Fall werden nur die ersten vier Elemente auf dem Postback gebunden. Um dies zu vermeiden, stellen Sie für alle Elemente in der IList fortlaufende IDs sicher.

Das obige ist der detaillierte Inhalt vonWie kann die Modellbindung mit Listen in ASP.NET MVC 4 effektiv gehandhabt werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage