Я показываю коллекцию данных на моей странице.Я показываю метку и текстовое поле для каждой строки.
Ниже приведен пример кода из моего представления:
@using (Html.BeginForm())
{
<input type="submit" value="Ok" />
@for (int index = 0; index < Model.Persons.Count; index++ )
{
@Model.Persons[index].Name
@Html.TextBoxFor(m => Model.Persons[index].Amount)
}
}
В действии «Post» я обновляю сумму (скажем, увеличивается на 5).
[HttpPost]
public ActionResult Persons(PersonList presenter)
{
for (int index = 0; index < presenter.Persons.Count; index++)
{
presenter.Persons[index].Amount += 5;
}
return View(presenter);
}
Эта обновленная сумма не отображается на странице.Однако, если я использую приведенный ниже код, то он отображается правильно, например
@Model.Persons[index].Amount
или
<input type="text" id=@("Persons_" + index + "__Amount") name="Persons[@index].Amount " value="@Model.Persons[index].Amount" ></input>
Я хотел бы объяснить причину такого поведения, почему это происходит?
Буду признателен за любую помощь.