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

访问https://localhost:7110/Home/ShowSearchForm出现HTTP ERROR 404错误求助

排查ASP.NET Core中JokersController的404错误

问题描述

我在ASP.NET Core项目中编写了如下JokersController控制器代码:

public class JokersController : Controller
{
    private readonly WebApplicationElmiDbContext _context;

    public JokersController(WebApplicationElmiDbContext context)
    {
        _context = context;
    }

    // GET: Jokers
    public async Task<IActionResult> Index()
    {
        return _context.Joker != null ?
                    View(await _context.Joker.ToListAsync()) :
                    Problem("Entity set 'WebApplicationElmDbiContext.Joker'  is null.");
    }

    // GET: Jokers/ShowSearchForm
    public async Task<IActionResult> ShowSearchForm()
    {
        return _context.Joker != null ?
                    View() :
                    Problem("Entity set 'WebApplicationElmDbiContext.Joker'  is null.");
    }     
}

访问https://localhost:7110/Home/ShowSearchForm时,页面提示“无法找到此本地页面”,报HTTP ERROR 404错误,需排查解决。

排查解决步骤

  • 修正请求URL的控制器路径:ShowSearchForm方法属于JokersController,而非HomeController,正确请求URL应为https://localhost:7110/Jokers/ShowSearchForm。ASP.NET Core默认路由规则为{controller}/{action}/{id?},URL中的控制器名称需与控制器类名(去掉Controller后缀)一致。

  • 检查路由配置:确认Program.cs中已启用控制器路由:

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

    若使用属性路由,需在控制器或方法上添加[Route]特性,例如在ShowSearchForm方法上添加[HttpGet("ShowSearchForm")],同时在控制器类上添加[Route("[controller]")]。

  • 确认视图文件路径:ShowSearchForm返回View()时,需确保Views/Jokers目录下存在ShowSearchForm.cshtml视图文件。路径或文件名错误可能导致视图未找到(通常会返回特定错误信息,但也可能引发404)。

  • 检查控制器访问修饰符:确保JokersController使用public修饰符,非public的控制器无法被路由系统识别。

  • 修正代码拼写错误:代码中Problem方法内的错误信息写为WebApplicationElmDbiContext,但注入的上下文是WebApplicationElmiDbContext,虽不直接引发404,但建议修正以避免后续排查混淆。

内容的提问来源于stack exchange,提问作者Ahmed Elmi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 21:40:16