gpt4 book ai didi

asp.net-core - 如何正确重定向到 asp.net core 中的页面

转载 作者:行者123 更新时间:2023-12-05 03:00:37 35 4
gpt4 key购买 nike

编辑:项目背景。这个项目是根据此处有关使用 Razor 页面访问数据的教程中的概念创建的 https://learn.microsoft.com/en-us/aspnet/core/data/ef-rp/?view=aspnetcore-2.2 .我没有做 View 或 Controller ,所以我目前没有任何可以重定向到的操作。我需要添加 Controller 文件夹吗?

当我保存对模型 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);
}
}

}

谁能告诉我如何将编辑 Razor 页面的 OnPost 正确路由到索引 Razor 页面的 OnGet

我曾尝试对处理程序进行一些研究,但找不到关于如何执行此操作的易于理解的定义。

最佳答案

很难看出你在哪里连接了东西,因为你只提供了方法。

鉴于 OnGetAsync(string id) 如果映射到 /index,您可以使用类似的东西:

return RedirectToAction("Index", new { id = Subcategory.CategoryName.ToString() });

我还建议您将您的方法称为端点。因此,如果 OnGetAsync 是您的索引端点。然后将其命名为 Index

希望这对您有所帮助,否则您需要向我提供更多代码。

关于asp.net-core - 如何正确重定向到 asp.net core 中的页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56675724/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com