【发布时间】:2019-06-19 20:56:54
【问题描述】:
编辑:项目背景。该项目是根据此处关于使用剃须刀页面进行数据访问的教程中的概念创建的 https://docs.microsoft.com/en-us/aspnet/core/data/ef-rp/?view=aspnetcore-2.2。我没有做视图或控制器,所以我目前没有可以重定向到的任何操作。我需要添加控制器文件夹吗?
当我保存对模型subcategories 编辑的更改时,我想返回categories 页面。通常,使用简单的RedirectToPage("/index") 就可以了。
这在这里不起作用,因为我的索引 OnGet 使用字符串 ID 来过滤 subcategories(感觉好像我可能做错了......但它有效)。以下是我目前拥有的,它显然不起作用:
编辑 - OnPost:
public async Task<IActionResult> OnPostAsync()
{
if (!ModelState.IsValid)
{
return Page();
}
_context.Attach(Subcategory).State = EntityState.Modified;
try
{
await _context.SaveChangesAsync();
}
catch (DbUpdateConcurrencyException)
{
if (!SubcategoryExists(Subcategory.SubcategoryId))
{
return NotFound();
}
else
{
throw;
}
}
return RedirectToPage("./Index", "?id" , Subcategory.CategoryName);
}
索引 - OnGet:
public async Task OnGetAsync(string id)
{
title = id;
Subcategory = await _context.Subcategory.ToListAsync();
foreach (Subcategory item in Subcategory.ToList())
{
if (item.CategoryName != id)
{
Subcategory.Remove(item);
}
}
}
谁能告诉我如何正确地将我的编辑剃须刀页面的OnPost 路由到我的索引剃须刀页面的OnGet?
我尝试对处理程序进行一些研究,但我找不到一个很好理解的定义来说明如何做到这一点。
【问题讨论】:
标签: asp.net-core razor