Доступ к свойствам ViewModel в контроллере ASP.NET Core ⇐ C#
-
Гость
Доступ к свойствам ViewModel в контроллере ASP.NET Core
Я следую основному руководству EF по основным операциям CRUD, и у меня возникли проблемы с получением данных из моей модели представления.
Я следую рекомендованной практике использования TryUpdateModel (или, в моем конкретном случае, TryUpdateModelAsync) в следующем действии.
[HttpPost, ActionName("Изменить")] [ВалидатеАнтиФоржериТокен] общедоступная асинхронная задача EditPost (int id) { вар versionToUpdate = ждут _context.Versions.FirstOrDefaultAsync(a => a.Id == id); вар editModel = новая VersionEditModel () {Версия = versionToUpdate}; если (ожидаем TryUpdateModelAsync( редактироватьМодель.Версия, "Версия", а => а.Имя, ...дальнейший код удален для краткости Раньше я бы передал саму модель в сигнатуре действия, т. е.
public async Task EditPost(VersionEditModel editModel)
Но в руководстве рекомендовалось использовать только идентификатор, извлечь элемент из базы данных и запустить для него TryUpdateModel.
Все это работает, но я хочу получить доступ к значению, которое было POST добавлено к действию как часть ViewModel, но я не могу получить к нему доступ.
Если я добавлю модель в подпись в качестве дополнительного параметра, вот так
public async Task EditPost(int id, VersionEditModel editModel)
Я могу получить к нему доступ с помощью editModel, но TryUpdateAsync больше не работает должным образом.
Я предполагаю, что должен быть способ получить эти данные, но не могу понять, как это сделать.
Моей главной проблемой было найти правильные слова, чтобы объяснить мою проблему и то, чего я хочу, поэтому, пожалуйста, попросите разъяснений, если что-то не имеет смысла.
Я следую основному руководству EF по основным операциям CRUD, и у меня возникли проблемы с получением данных из моей модели представления.
Я следую рекомендованной практике использования TryUpdateModel (или, в моем конкретном случае, TryUpdateModelAsync) в следующем действии.
[HttpPost, ActionName("Изменить")] [ВалидатеАнтиФоржериТокен] общедоступная асинхронная задача EditPost (int id) { вар versionToUpdate = ждут _context.Versions.FirstOrDefaultAsync(a => a.Id == id); вар editModel = новая VersionEditModel () {Версия = versionToUpdate}; если (ожидаем TryUpdateModelAsync( редактироватьМодель.Версия, "Версия", а => а.Имя, ...дальнейший код удален для краткости Раньше я бы передал саму модель в сигнатуре действия, т. е.
public async Task EditPost(VersionEditModel editModel)
Но в руководстве рекомендовалось использовать только идентификатор, извлечь элемент из базы данных и запустить для него TryUpdateModel.
Все это работает, но я хочу получить доступ к значению, которое было POST добавлено к действию как часть ViewModel, но я не могу получить к нему доступ.
Если я добавлю модель в подпись в качестве дополнительного параметра, вот так
public async Task EditPost(int id, VersionEditModel editModel)
Я могу получить к нему доступ с помощью editModel, но TryUpdateAsync больше не работает должным образом.
Я предполагаю, что должен быть способ получить эти данные, но не могу понять, как это сделать.
Моей главной проблемой было найти правильные слова, чтобы объяснить мою проблему и то, чего я хочу, поэтому, пожалуйста, попросите разъяснений, если что-то не имеет смысла.
Мобильная версия