发布 Edit() 后,编辑项目 return Details.cshtml 而不是 Index.cshtml

Upon posting Edit(), return Details.cshtml of edited item rather than Index.cshtml

在 ASP.NET MVC 应用程序中,假设您有一个简单的模型 class Blog 并且您正在使用编辑操作更新条目。

[HttpPost]
public async Task<IActionResult> Edit(int id, [Bind("Id,Title")] Blog blog)
{
    // controller logic here
    return View(blog);
}

此 return 是 Blog 的(默认命名的)Index.cshtml 视图。您如何将此内容发送到 return 已编辑的同一 Blog 项目的 Details.cshtml 视图?我觉得这是一个简单的更改,但我找不到任何答案来回答这个问题,我也不确定从哪里开始。

您可以 return 按博客模型查看详细信息

return View("Detail",blog);

如果您的 Detail.cshtml 在控制器中有 GET 操作,为了更安全,您还可以使用反射:

return View(nameof(Detail),blog);

请记住,在这种情况下,Details.cshtml 必须使用与您尝试 return 相同的模型对象,例如@model MyApp.Models.Blog