You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ASP.NET Core MVC中无法在浏览器显示Razor视图(出现404页面未找到错误)

嘿,刚仔细看了你的代码,马上发现了导致404错误的核心问题,咱们一步步来解决:

1. 控制器名称与导航链接不匹配

你的导航栏里写的是:

<a class="nav-link text-dark" asp-area="" asp-controller="CasaSelecta" asp-action="Index">Liste des habitats</a>

但实际的控制器类是HabitatsController——在ASP.NET Core MVC中,控制器名称是类名去掉Controller后缀,所以正确的控制器名称应该是Habitats,不是CasaSelecta。

修改方法:把导航链接里的asp-controller值改成Habitats:

<a class="nav-link text-dark" asp-area="" asp-controller="Habitats" asp-action="Index">Liste des habitats</a>

2. 确认视图文件存在且路径正确

你的HabitatsController的Index方法返回了视图,需要确保你的项目里存在对应的视图文件:

  • 路径:Views/Habitats/Index.cshtml
  • 文件名要和控制器方法名完全匹配(Windows系统大小写不敏感,但Linux/macOS下要注意大小写一致)

如果这个文件不存在,创建它并添加基础的视图代码(比如遍历展示HabitatClass列表)。

3. 检查默认路由配置

确保你的Program.cs里配置了默认的MVC路由,这样请求才能正确映射到控制器和方法:

app.MapControllerRoute(
    name: "default",
    pattern: "{controller=Home}/{action=Index}/{id?}");

如果路由被修改过,可能会导致请求无法匹配,恢复这个默认路由就能解决大部分路由问题。

4. 额外检查:数据库上下文的注册

虽然这不是直接导致404的原因,但如果DbContClass没有被正确注册为服务,控制器的构造函数注入会失败,进而引发其他错误。确认Program.cs里有类似的代码:

builder.Services.AddDbContext<DbContClass>(options =>
    options.UseSqlServer(builder.Configuration.GetConnectionString("YourConnectionStringName")));

记得把YourConnectionStringName替换成你appsettings.json里实际的连接字符串名称。

做完这些修改后,清理浏览器缓存或者用隐私模式打开页面,应该就能正常访问Liste des habitats页面了。

内容的提问来源于stack exchange,提问作者Anass Hadeg

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.28 12:47:47