【发布时间】:2018-09-08 19:36:42
【问题描述】:
我不知道如何使用 Razor Pages asp.net core 2.0 更新相关数据。
在下面的示例中,我可以更新“项目”数据,但在 OnPostAsync() 上看不到相关的“操作”数据(一个项目 => 多个操作)。
EditModel : PageModel
[BindProperty]
public Project Project { get; set; }
public async Task<IActionResult> OnGetAsync(int? id)
{
if (id == null)
{
return NotFound();
}
//THIS PART WORKS, I CAN SEE ACTIONS WITH THE PROJECT
Project = await _context.Project.Include(a=>a.Action).SingleOrDefaultAsync(m => m.Id == id);
if (Project == null)
{
return NotFound();
}
return Page();
}
public async Task<IActionResult> OnPostAsync(int? id)
{
//MODEL IS NOT RETURNING ACTIONS (One project many actions)
if (!ModelState.IsValid)
{
return Page();
}
//How do I update actions?
try
{
await _context.SaveChangesAsync();
}
catch (DbUpdateConcurrencyException)
{
if (!ProjectExists(Project.Id))
{
return NotFound();
}
else
{
throw;
}
}
return RedirectToPage("./Index");
}
OnModelCreating:
modelBuilder.Entity<Action>(entity =>
{
entity.HasOne(d => d.Project)
.WithMany(p => p.Action)
.HasForeignKey(d => d.ProjectId)
.HasConstraintName("FK_Action_Project");
});
【问题讨论】:
标签: asp.net-core-2.0 razor-pages