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

传递Guid至asp-route-id时CSS/JS加载失败问题求助

问题原因与解决方案

这个问题的核心是静态资源(CSS/JS)使用了相对路径,导致点击带Guid参数的详情链接后,资源请求路径错误。

当你通过asp-route-id="@residence.Id"生成详情链接后,页面URL会变成类似/Residences/Details/3fa85f64-5717-4562-b3fc-2c963f66afa6的多层级结构。如果布局页(_Layout.cshtml)里的CSS/JS引用用的是相对路径(比如css/site.css),浏览器会从当前URL的层级下去请求资源,也就是/Residences/Details/css/site.css,而这个路径下不存在对应的静态资源,自然加载失败。

解决步骤:

  • 修正静态资源引用路径:在布局页中,所有CSS、JS、图片等静态资源的路径统一改用根路径开头的写法,用~/表示网站根目录,ASP.NET Core会自动解析为正确的绝对路径。

错误示例:

<link href="css/site.css" rel="stylesheet" />
<script src="js/site.js"></script>

正确写法:

<link href="~/css/site.css" rel="stylesheet" />
<script src="~/js/site.js"></script>

也可以使用@Url.Content辅助方法(效果一致):

<link href="@Url.Content("~/css/site.css")" rel="stylesheet" />
<script src="@Url.Content("~/js/site.js")"></script>
  • 检查图片路径:你代码中的图片使用了@Url.Content(residence.ResidenceImage),确保ResidenceImage存储的是相对根目录的路径(比如~/images/residence1.jpg或images/residence1.jpg),这样@Url.Content会自动解析为正确的绝对路径。

修改后可以打开浏览器开发者工具(F12)的网络面板,查看CSS/JS的请求状态,返回200即表示资源加载正常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 07:32:43