ASP.NET Razor Pages JavaScript 文件返回未定义的错误

Posted

技术标签:

【中文标题】ASP.NET Razor Pages JavaScript 文件返回未定义的错误【英文标题】:ASP.NET Razor Pages JavaScript file returns undefined error 【发布时间】:2019-06-12 06:30:22 【问题描述】:

这个有点棘手,但这里是:

我从正在从 Wordpress 转移到 ASP.NET Razor Pages 的网站上下载了一些文件。在原始文件中有一个“assets”文件夹、一个“lib”文件夹(包含字体文件夹以及 css 和 js 文件)以及 index.html 文件。

当我在 Chrome 浏览器中打开文件并运行索引文件时,网页运行正常(整个页面响应速度非常快,并且是用 javascript 完成的,因此 .js 文件非常重要)。 Here's a look at the current page for your reference

当我切换到我的 ASP.NET Razor Pages 项目时,文件运行,但我收到以下错误:

Uncaught ReferenceError: playerjs is not defined

我进入代码检查它,但我似乎无法找到它实际上有什么问题。整个文件中只有一次 playerjs 调用。 Here's the link to the .js main file if you're interested.

我的问题:将常规 .html 文件及其随附的 .js 文件从 Wordpress 站点移动到 ASP.NET Core 站点时是否有协议?

我想知道这是否是因为我正在使用 .CSHTML 文件及其随附的 .CSHTML.CS 文件。这很令人困惑。

对此的任何帮助将不胜感激!

【问题讨论】:

看来你没有正确加载js文件。您能告诉我们您是如何在 index.html 中引用 js 的吗? 我正要发布答案。您对文件未正确加载是正确的。 【参考方案1】:

正如@itminus 指出的那样。 js 文件没有正确加载,因为我使用的是默认布局部分页面。我假设 js 文件正在与其他 js 文件竞争。我发现移动您的传统 .html 文件及其相应文件就像复制和粘贴一样简单,但您必须正确操作。

这是怎么做的:

    在您的 Pages 文件夹中,创建一个用于存放 .cshtml 文件的新文件夹 在该文件夹中,添加一个新的剃须刀页面,但确保取消选中布局选项 复制 .html 页面中的代码并将其粘贴到 .cshtml 文件中 确保将 js 和 css 文件放在 wwwroot 文件夹中 还要确保正确指向链接和脚本 如果您指向 js 文件或脚本中的某些内容,请确保获取根 url 并将其指向正确的文件

我希望这对那些不考虑布局页面妨碍的人有所帮助。

感谢所有愿意提供帮助的人!

【讨论】:

以上是关于ASP.NET Razor Pages JavaScript 文件返回未定义的错误的主要内容,如果未能解决你的问题,请参考以下文章

ASP.NET Razor Pages 路由参数命名页面

结合 Razor Pages 和 ApiControllers 的应用程序中的 Asp.net 核心异常处理

部分视图中的模型为空 - asp.net core razor pages

ASP.NET Razor Pages JavaScript 文件返回未定义的错误

带有 id 的 asp.net core 2 razor pages 路由

我无法在 asp.net core 2.0 razor pages 中执行下载操作