ASP.NET项目从Home/Index跳转Product/List报404错误排查求助
你提供的ProductController代码中不存在List动作方法,这是访问/Product/List返回404的核心原因。你可以先添加对应的动作方法测试:
[HttpGet] public IActionResult List() { // 从上下文读取所有产品数据传递到视图 var productList = context.Products.ToList(); return View(productList); }
另外你现有的Views/Product/List.cshtml绑定的是单个Product类型的Model,不符合列表页的常规需求,需要同步修改视图的Model声明:
@model IEnumerable<Product> @{ ViewData["Title"] = "Products"; }
如果修改后仍然返回404,还需提供以下代码/信息排查问题:
- 项目的路由配置代码(.NET 6+版本为
Program.cs,旧版本为Startup.cs或RouteConfig.cs),确认路由规则是否正确映射控制器与动作 _ViewImports.cshtml文件内容,确认是否引入了Microsoft.AspNetCore.Mvc.TagHelpers,否则asp-controller、asp-action标签助手不会生效,会导致导航链接生成错误地址- 点击Products导航链接后,浏览器地址栏显示的完整URL,确认地址是否符合预期的
/Product/List格式 - 项目是否使用了区域(Area)功能,如果使用需要确认Product相关的控制器、视图是否在对应区域下,且导航标签配置了正确的
asp-area属性
内容的提问来源于stack exchange,提问作者Alex
相关产品推荐
相关产品推荐

