Я новичок в Razor Pages и пытаюсь понять, как установить обязательное поле в методе OnPostAsync
страницы. В частности, у меня есть связанный объект, который должен включать в себя идентификатор текущего пользователя (из ASP.NET Identity). Я могу установить это значение в OnPostAsync
, но ModelState по-прежнему отображается как недопустимый. Проверяя возвращенные ошибки, кажется, что он не учитывает обновленное значение
Вот мой текущий OnPostAsync
метод:
public async Task<IActionResult> OnPostAsync()
{
Upload.Created = DateTime.Now;
Upload.UploaderID = _userManager.GetUserId(User);
if (!ModelState.IsValid)
{
return Page();
}
_context.Uploads.Add(Upload);
await _context.SaveChangesAsync();
return RedirectToPage("./Index");
}
А вот фрагмент из модели Upload
:
public class Upload
{
...
[Required]
public String UploaderID { get; set; }
[ForeignKey("UploaderID")]
public ApplicationUser Uploader { get; set; }
...
}
Извиняюсь, если есть что-то очевидное, что я здесь упускаю, так как я говорю, что я новичок в Razor Pages / Entity Framework и мое Google-фу подвело меня.