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

ASP.NET Core Razor Pages重定向异常:找不到'Miner/MinerDetail'页面

解决ASP.NET Core Razor Pages重定向到miner/MinerDetail页面的报错问题

可能的原因及对应解决方案

1. 页面路径与文件结构不匹配

Razor Pages对页面路径的匹配严格对应物理文件结构且区分大小写:

  • 检查文件结构:确认MinerDetail.cshtml(含后置代码文件)确实位于Pages/miner目录下,若实际目录是大写的Miner,重定向路径要写成Miner/MinerDetail。
  • 检查自定义路由:如果MinerDetail.cshtml.cs中配置了[PageRoute("/自定义路由")],重定向时必须使用这个自定义路由,而非物理路径。

2. 正确传递模型到目标页面

重定向属于GET请求,无法直接传递复杂模型,可通过两种方式处理:

  • 用TempData传递序列化后的模型
    // 发起重定向的页面代码
    TempData["MinerPartsView"] = JsonSerializer.Serialize(minerPartsView);
    return RedirectToPage("/miner/MinerDetail"); // 路径前加斜杠确保是根目录下的miner文件夹
    
    // MinerDetail页面的OnGet方法
    public void OnGet()
    {
        if (TempData["MinerPartsView"] != null)
        {
            var model = JsonSerializer.Deserialize<MinerPartsViewModel>(TempData["MinerPartsView"].ToString());
            // 后续模型逻辑处理
        }
    }
    
  • 传递模型唯一标识,目标页面重新查询数据
    // 发起重定向的页面代码
    return RedirectToPage("/miner/MinerDetail", new { id = minerPartsView.Id });
    
    // MinerDetail页面的OnGet方法
    public void OnGet(int id)
    {
        // 根据id从数据源获取完整模型
        var model = _minerService.GetMinerPartsById(id);
        // 后续模型逻辑处理
    }
    

3. 确认页面文件有效性

  • 检查Pages目录下是否存在miner子目录,且目录内有MinerDetail.cshtml和MinerDetail.cshtml.cs文件。
  • 确认文件未被排除在项目外,右键文件查看属性,确保“复制到输出目录”设置符合需求。

内容的提问来源于stack exchange,提问作者MH Nikbakht

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 03:40:43