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

ASP.NET页面跳转问题求助:点击链接无法访问BookingChamb.cshtml

解决ASP.NET页面跳转404问题:无法访问BookingChamb.cshtml

嘿,我来帮你搞定这个404问题!你遇到的核心问题是ASP.NET不允许直接通过URL访问Views文件夹里的.cshtml视图文件——这是框架的安全设计和架构逻辑决定的,视图是用来展示控制器返回的数据的,不能直接暴露给前端直接访问。

下面分两种常见的ASP.NET项目类型给你解决方案:

如果你用的是ASP.NET MVC

步骤1:给视图添加对应的控制器动作

打开项目里的Controllers文件夹,要么在现有的HomeController里加一个动作方法,要么新建一个BookingController:

// 比如在HomeController里添加
public ActionResult BookingChamb()
{
    // 如果你的BookingChamb.cshtml在Views根目录,需要指定路径;如果在Views/Home下,直接return View()就行
    return View("~/Views/BookingChamb.cshtml");
}

步骤2:修改主页的跳转链接

把原来指向.cshtml文件的<a>标签,改成指向控制器动作的路由:

<!-- 推荐用Url.Action生成路由,避免硬编码出错 -->
<a href="@Url.Action("BookingChamb", "Home")">跳转到预订页面</a>

<!-- 或者直接写路由路径(注意控制器名和动作名要对应) -->
<a href="/Home/BookingChamb">跳转到预订页面</a>

如果你用的是ASP.NET Razor Pages

步骤1:确保你的页面是合法的Razor Page

检查BookingChamb.cshtml旁边有没有对应的代码文件BookingChamb.cshtml.cs,如果没有就新建一个(哪怕是空的也可以):

public class BookingChambModel : PageModel
{
    public void OnGet()
    {
        // 这里可以加页面加载时的初始化逻辑
    }
}

步骤2:修改跳转链接的路径

去掉链接里的.cshtml后缀,Razor Pages会自动匹配对应的页面:

<!-- 直接写页面名称(不带后缀) -->
<a href="/BookingChamb">跳转到预订页面</a>

<!-- 或者用Url.Page生成链接更稳妥 -->
<a href="@Url.Page("BookingChamb")">跳转到预订页面</a>

额外检查点

  • 确认你的路由配置是正常的:MVC项目可以看RouteConfig.cs或者Startup.cs里的路由规则,默认的{controller}/{action}/{id}规则要存在;Razor Pages默认路由就是页面名称,一般不用额外配置。
  • 不要尝试修改Views文件夹的权限来直接访问文件——这既不安全,也不符合ASP.NET的设计规范。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.13 06:38:15