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

无法为<li>标签添加<a>视图链接,点击出现404错误求助

问题分析与解决方法

你遇到的404问题核心原因是ASP.NET框架不允许直接通过URL访问Views目录下的.cshtml视图文件,Views目录默认是受保护的,不能直接作为静态资源访问,必须通过控制器路由或Razor Pages路由来匹配对应的页面。

正确的实现方式

1. 如果你使用的是ASP.NET MVC项目

你需要确保存在对应的控制器和Action方法:

  • 首先创建PowershellController类,里面添加PwrCmts Action:
public class PowershellController : Controller
{
    public IActionResult PwrCmts()
    {
        return View(); // 会自动寻找~/Views/Powershell/PwrCmts.cshtml视图
    }
}
  • 然后在分部视图中使用路由生成链接,而不是直接写物理路径:
    方法一:使用Html.ActionLink辅助方法
    <li>@Html.ActionLink("Powershell Comments", "PwrCmts", "Powershell")</li>
    
    方法二:使用Url.Action生成路由URL
    <li><a href="@Url.Action("PwrCmts", "Powershell")">Powershell Comments</a></li>
    

2. 如果你使用的是ASP.NET Core Razor Pages项目

如果PwrCmts.cshtml是Razor页面,建议将其放在Pages目录下(比如/Pages/Powershell/PwrCmts.cshtml),然后使用Url.Page生成链接:

<li><a href="@Url.Page("/Powershell/PwrCmts")">Powershell Comments</a></li>

如果一定要放在Views目录下,需要额外配置路由规则,但不推荐这种做法,因为不符合Razor Pages的目录规范。

关键说明

Views目录的设计是用来渲染控制器Action返回的视图内容,不是直接供用户访问的资源路径,所以直接写~/Views/Powershell/PwrCmts.cshtml这种物理路径必然会返回404错误,必须通过框架的路由机制来映射到对应的处理逻辑。

内容的提问来源于stack exchange,提问作者Jass Sanghera

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 04:40:33