【问题标题】:Call to js file not working on ASP.NET MVC调用 js 文件在 ASP.NET MVC 上不起作用
【发布时间】:2020-09-23 18:52:28
【问题描述】:

我是 ASP.NET MVC 的新手,我正在研究一个基于在线课程的项目。 我正在尝试调用一个 js 文件来运行,但它不起作用。 这是 index.cshtml 末尾的调用

@section scripts {
    alert("before");
    <script src="~/js/product.js">
        alert("inside");
    </script>
alert("after");
}

我无法让 product.js 开头的 window.alert 消息(见下面的屏幕截图)显示在运行时。 有任何想法吗?

【问题讨论】:

  • 您的浏览器开发者工具的网络标签是否有错误?
  • 谢谢,这是一个语法错误,我不知道 js 文件上没有显示语法错误 :)

标签: javascript c# asp.net-mvc


【解决方案1】:

您的问题是 src 标记内的 script 属性。如果有src 属性,src 元素内的代码将不会运行;相反,链接的 js 文件将运行。 去掉src标签,就像这样把你的代码改成这样:

@section scripts {
    alert("before");
    <script>
        alert("inside");
    </script>
alert("after");
}

现在您的警报将运行。

【讨论】:

    【解决方案2】:

    如果您的@RenderSection("scripts") 在标签内,我建议您不要这样设置,以便您可以执行以下操作:

    @section scripts {
      <script type="text/javascript">alert("Before");</script>
      <script type="text/javascript" src=".."></script>
      <script type="text/javascript">alert("After");</script>
    }
    

    另一个脚本标签内的脚本标签无法正常工作,因此我建议将@RenderSection("scripts") 放置在布局中的适当位置,但不要放在脚本标签内,以便您可以将多个脚本嵌套在一起根据需要。

    【讨论】:

      猜你喜欢
      • 2011-04-29
      • 2010-11-25
      • 1970-01-01
      • 1970-01-01
      • 2017-02-18
      • 2017-06-03
      • 1970-01-01
      • 2012-03-23
      • 1970-01-01
      相关资源
      最近更新 更多