ho il seguente schema di classe in MVC:MVC - Modifica di un elenco di oggetti
public class ReportModel
{
List<SomeItem> items;
string value;
string anotherValue;
}
ora creo una vista fortemente tipizzato in MVC di questo tipo e fare campi di testo modificabili per modificare ogni valore, nonché utilizzare un ciclo foreach per popolare i campi di testo per modificare gli elementi nell'elenco di alcuni oggetti.
quando invio al metodo httppost i valori singolari ritornano correttamente nell'oggetto reportmodel ma l'elenco non viene restituito nell'oggetto. Come dovrebbe essere fatto?
Quando dico HttpPost mi riferisco al metodo che MVC è distacco torna a
[HttpPost]
public ActionResult EditReport(ReportModel report)
{
// Save the report in here after the update on the UI side
}
codice della vista per la pubblicazione l'elenco dei someitem
if (Model.items != null && Model.items.Count > 0)
{
for (int i = 0; i < Model.items.Count; i++)
{
<div class="editrow">
<div class="edititem">
<div class="editor-label">
@Html.LabelFor(m => m.items.ElementAt(i).propertyOne)
</div>
<div class="editor-field">
@Html.TextBoxFor(m => m.items.ElementAt(i).propertyOne)
@Html.ValidationMessageFor(m => m.items.ElementAt(i).propertyOne)
</div>
</div>
<div class="edititem">
<div class="editor-label">
@Html.LabelFor(m => m.items.ElementAt(i).propertyTwo)
</div>
<div class="editor-field">
@Html.TextBoxFor(m => m.items.ElementAt(i).propertyTwo)
@Html.ValidationMessageFor(m => m.items.ElementAt(i).propertyTwo)
</div>
</div>
<div class="edititem">
<div class="editor-label">
@Html.LabelFor(m => m.items.ElementAt(i).propertyThree)
</div>
<div class="editor-field">
@Html.TextBoxFor(m => m.items.ElementAt(i).propertyThree)
@Html.ValidationMessageFor(m => m.items.ElementAt(i).propertyThree)
</div>
</div>
</div>
}
}
Primo: Nitpicking: nel titolo: elenco, non acceso. Secondo: qual è il metodo httppost di cui si sta parlando? Stiamo parlando di Android qui? Per favore aggiungi quel tag per denotarlo. – bldoron
Hai letto questo: http://www.hanselman.com/blog/ASPNETWireFormatForModelBindingToArraysListsCollectionsDictionaries.aspx –
@KirillBestemyanov Questo non è esattamente quello che sto cercando dato che mi aspetto di riportarli nel modello di report non come parametri separati per la funzione – DMCApps