Форма в foreach на странице Razor: проверка отображается для всех элементов.C#

Место общения программистов C#
Ответить
Anonymous
 Форма в foreach на странице Razor: проверка отображается для всех элементов.

Сообщение Anonymous »

Рассмотрим следующий код Razor

Код: Выделить всё

foreach(Person p in Model.Persons){


@Html.TextBoxFor(m => p.Name)
@Html.ValidationMessageFor(m => p.Name)

@Html.TextBoxFor(m => p.Surname)
@Html.ValidationMessageFor(m => p.Surname)

Save


}
В обработанном .html каждый человек будет иметь одинаковый атрибут имени друг с другом. Это приводит к неправильному поведению, когда проверка не увенчалась успехом: у каждого человека будет сообщение об ошибке, даже если я редактировал только одного из них.
Как лучше всего решить эту проблему? проблема?
Мой обработчик сообщений выглядит следующим образом

Код: Выделить всё

[HttpPost]
public IActionResult SavePerson(Person person){
// ...
}
и было бы здорово оставить все как есть.

Подробнее здесь: https://stackoverflow.com/questions/785 ... e-elements
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»