【问题标题】:ASP.NET MVC app cant call JS or CSS files from cshtml fileASP.NET MVC 应用程序无法从 cshtml 文件调用 JS 或 CSS 文件
【发布时间】:2020-09-15 01:26:20
【问题描述】:

我在以下路径/Views/Home/index.cshtml有一个cshtml文件

js文件在路径/Public/js/main.js.....我用下面的代码来调用它:<script src="../../Public/js/main.js"></script>

css 文件位于路径/Public/css.main.css....我使用以下代码调用它:<link rel="stylesheet" href="../../Public/css/main.css">

对于这两个电话,我都收到 404 错误 Failed to load resource: the server responded with a status of 404 (Not Found)

【问题讨论】:

  • 嗯?您是否确保在已发布的应用程序中文件位于正确的位置?如果您尝试通过 URL 访问它们,您会看到它们的内容吗?
  • 它未发布我正在使用 Visual Studio 进行调试
  • 当然 - 但您仍然可以尝试直接在浏览器中点击 URL。就像凯文的回答所说,您的视图所在的目录没有实际意义,不应该用于确定相对路径。重要的是您实际用于访问网页的路径,以及您需要的文件的相对路径。

标签: javascript asp.net asp.net-mvc relative-path


【解决方案1】:

即使索引在视图文件夹中,它也会呈现到根目录。视图文件夹是服务器端应用程序文件夹。尝试关闭../../。同样在您的示例中,您的 css 文件夹有一个“。”在它之后与'/'相比。

【讨论】:

  • 试试“/Public/js/main.js”。您的公用文件夹可能与您的索引页面处于同一级别。
【解决方案2】:

这篇文章为我解决了 https://docs.microsoft.com/en-us/aspnet/core/fundamentals/static-files?view=aspnetcore-3.1

我需要将文件夹名称从“Public”更改为“wwwroot”...然后引用 js 文件如下:"~/js/main.js"。 ~ 字符代表文件夹“wwwroot”

【讨论】:

    猜你喜欢
    • 2019-02-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多