C#. net core: несколько ajax форм со скрытыми входами с одинаковым идентификатором - PullRequest
0 голосов
/ 11 марта 2020

У меня есть веб-страница с несколькими отдельными вкладками, все они существуют в DOM, переключение между ними полностью на стороне клиента. Каждая вкладка содержит форму ajax для редактирования данных выбранного пользователя приложения. Например, Первая вкладка позволяет редактировать имя, фамилию, ..., вторая вкладка позволяет редактировать адрес. Каждая вкладка имеет кнопку сохранения, и каждый раз только свойства текущей вкладки передаются в БД. Все работает хорошо:)

НО, конечно, каждая вкладка нуждается в PK пользователя (user.Id) в вопросе. Он передается в контроллер через скрытое поле <input type="hidden" asp-for="Id" />, поэтому HTML DOM содержит более одного элемента с одинаковым идентификатором, и браузеры жалуются .

Я знаю, что мог бы вручную установить Назовите / id этих полей ввода и вручную сопоставьте их на стороне контроллера, но связыватель модели мог бы сделать это для меня, это красиво и чисто.

public async Task<IActionResult> EditGeneralData([Bind(GeneralDataBindFieldNames)]AppUser appUser)

Есть ли хороший и простой способ добиться этого ? Должен ли я просто забыть о предупреждении браузера, так как буду осторожен при использовании getElementById? Что вы думаете об этом?

1 Ответ

1 голос
/ 17 марта 2020

Да ... не совсем тот ответ, который я искал, но этого должно быть достаточно. Оказывается, что содержимое этих вкладок связано друг с другом. Таким образом, все вкладки не могут существовать в DOM одновременно, и переключение между ними не может быть полностью на стороне клиента.

Теперь щелчок вкладки загружает содержимое вкладки по требованию, поэтому в DOM больше нет нескольких полей ввода , Только одна вкладка за раз означает только одно поле ввода за раз:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...