Класс пользователя
public class MyUser {
public string Forename { get; set; }
public string Surname { get; set; }
public string PWD { get; set; }
}
Страница редактирования пароля
public class EditPasswordModel : PageModel {
[BindProperty]
public UserMain objRecord { get; set; }
public async Task<IActionResult> OnGetAsync() {
objRecord = await _context.MyUser
.SingleOrDefaultAsync(m => m.UserID == 666);
return Page();
}
public async Task<IActionResult> OnPostAsync() {
_context.Attach(objRecord).State = EntityState.Modified;
await _context.SaveChangesAsync();
return RedirectToPage("./Index");
}
}
На этой странице смены пароля я хочу обновить только поле PWD
.Возможность перезагрузить запись из таблицы в OnPostAsync()
и затем скопировать все в objRecord, за исключением PWD
, работает, но чувствует себя неправильно и расточительно.
Я использовал ViewModels, чтобы расширить то, что принесено в View, объединяя классы, которые будут использоваться в представлении, например, но есть ли способ использовать ViewModel для ограничения доступных полей?