Доступ к свойствам ViewModel в контроллере ASP.NET CoreC#

Место общения программистов 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 больше не работает должным образом.

Я предполагаю, что должен быть способ получить эти данные, но не могу понять, как это сделать.

Моей главной проблемой было найти правильные слова, чтобы объяснить мою проблему и то, чего я хочу, поэтому, пожалуйста, попросите разъяснений, если что-то не имеет смысла.
Ответить

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

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

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

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

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