У меня есть веб-страница с несколькими отдельными вкладками, все они существуют в DOM, переключение между ними полностью на стороне клиента. Каждая вкладка содержит форму ajax для редактирования данных выбранного пользователя приложения. Например, Первая вкладка позволяет редактировать имя, фамилию, ..., вторая вкладка позволяет редактировать адрес. Каждая вкладка имеет кнопку сохранения, и каждый раз только свойства текущей вкладки передаются в БД. Все работает хорошо:)
НО, конечно, каждая вкладка нуждается в PK пользователя (user.Id) в вопросе. Он передается в контроллер через скрытое поле <input type="hidden" asp-for="Id" />
, поэтому HTML DOM содержит более одного элемента с одинаковым идентификатором, и браузеры жалуются .
Я знаю, что мог бы вручную установить Назовите / id этих полей ввода и вручную сопоставьте их на стороне контроллера, но связыватель модели мог бы сделать это для меня, это красиво и чисто.
public async Task<IActionResult> EditGeneralData([Bind(GeneralDataBindFieldNames)]AppUser appUser)
Есть ли хороший и простой способ добиться этого ? Должен ли я просто забыть о предупреждении браузера, так как буду осторожен при использовании getElementById
? Что вы думаете об этом?