Mam następujący układ klasa w MVC:MVC - Edycja listy obiektów
public class ReportModel
{
List<SomeItem> items;
string value;
string anotherValue;
}
teraz utworzyć silnie typami widoku w MVC tego typu i dokonać edytowalnych pól tekstowych, aby edytować każdą wartość, jak również użyj pętli foreach do wypełnienia pól tekstowych, aby edytować elementy na liście someitem.
Po przesłaniu do metody httppost wartości jednostkowe wrócą poprawnie w obiekcie obiektu raportu, ale lista nie zostanie zwrócona w obiekcie. Jak to zrobić?
Kiedy mówię HttpPost ja odnoszę się do metody, która MVC jest księgowanie powrotem do
[HttpPost]
public ActionResult EditReport(ReportModel report)
{
// Save the report in here after the update on the UI side
}
widoku kodu do opublikowania listy 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>
}
}
Po pierwsze: Nitpicking: W tytule: lista, nie świeci. Po drugie: Jaka jest metoda httppost, o której mówisz? Czy mówimy tu o Androidzie? Dodaj ten tag, aby go oznaczyć. – bldoron
Czy przeczytałeś na ten temat: http://www.hanselman.com/blog/ASPNETWireFormatForModelBindingToArraysListsCollectionsDictionaries.aspx –
@ KirirBestemyanov Nie jest to dokładnie to, czego szukam, ponieważ spodziewam się przywrócić je do modelu raportu, nie jako osobne parametry do funkcja – DMCApps