【问题标题】:My Index page is not seeing the javascript library I loaded in my shared layout page我的索引页面没有看到我在共享布局页面中加载的 javascript 库
【发布时间】:2021-02-09 02:13:03
【问题描述】:

我正在尝试在我的一个 .Net Core 3.1 Razor 页面中使用 javascript 库。

所以我将这些添加到我的_Layout.cshtml 页面:

<script src="~/lib/jquery/dist/jquery.min.js"></script>
<script src="~/lib/bootstrap/dist/js/bootstrap.bundle.min.js"></script>
<script src="~/js/gameRec/gr.min.js" type="text/javascript"></script>

然后在我的 Index.cshtml 中,我尝试像这样使用gr

@page
@model IndexModel
@{
    ViewData["Title"] = "Home page";
}

<head runat="server">
    <script>
        gr.init({
            selector: 'textarea#record',
            height: 500,
            width: 25,
            view_style: 'body { font-size:14px }'
        });
    </script>
</head>

<div class="text-center">
    <h1 class="display-4">GAME PORTAL</h1>
    <p>GAME</p>
    <div id="gameContainer">
        <textarea id="record" asp-for="game" cols="25" rows="3"></textarea>
    </div>
</div>

但它一直告诉我:

(index):34 Uncaught ReferenceError: gr is not defined

现在我检查了一下,我知道图书馆在正确的地方。

所以我不确定为什么我的索引页面找不到它。

我还有什么需要做的吗?

谢谢!

【问题讨论】:

  • 这与ASP无关......
  • @DavidEdel 哦,对不起,我很抱歉。我在我的 .net core mvc 项目中使用剃须刀页面。我会看看我是否可以删除 asp 引用。谢谢!
  • @DavidEdel 好的,除了razor,我删除了所有内容,谢谢!

标签: c# .net-core asp.net-core-mvc razor-pages


【解决方案1】:

标签

所有脚本文件都应该在正文底部的布局中

<body>
......
 <script src="~/js/gameRec/gr.min.js" type="text/javascript"></script>
</body>

在此添加之后立即

@RenderSection("scripts", required: false)

并将您的自定义脚本移动到索引文件的底部

@section Scripts {

    <script>

...... your custom script

    </script>

}

【讨论】:

  • 哦,我明白了,所以我的&lt;script&gt; gr.init({ ... }) &lt;/script&gt; 位于索引文件的最底部?
  • 是的,它通常被 $(document).ready(function () {....your code ... });
猜你喜欢
  • 2013-11-02
  • 2014-01-16
  • 2021-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多