Попробуйте записать его так:
<div style="display: inline">a</div>
<div style="display: inline">b</div>
<div style="display: inline">c</div>
Ваше представление содержит @Html.HiddenFor()
для каждого свойства до соответствующего метода EditorFor()
. DefaultModelBinder
связывает только первую пару совпадающих имен / значений и игнорирует остальные, поэтому сохраняются значения скрытых входов (которые являются значениями по умолчанию).
Удалите все @Html.HiddenFor()
из вашего представления, и отредактированные значения будут правильно привязаны.
Как примечание, его непонятно, почему ваш метод называется AddOrEdit
, когда все, что вы делаете, это добавление новых записей.