【问题标题】:How to use javascript in Layout for multiple Views .NET Core?如何在多视图 .NET Core 的布局中使用 javascript?
【发布时间】:2020-05-13 12:41:43
【问题描述】:

我有一个 javascript 代码,我需要将它放在 Layout 中以用于我在 .NET Core 中的所有视图。我用

<script src="~/js/template.js"></script>

它有效,但仅适用于第一页。我也尝试使用@Scripts.Render(),但它是.NET Framework 中的一种旧方法。

【问题讨论】:

  • it works, but only for first page ← 定义作品,也只解释第一页。
  • 如果您在_Layout.cshtml 中添加了脚本并且您在所有页面中都使用了_Layout.cshtml,那么它将起作用。在路由之前,您可能必须在 startup.cs 内使用 app.UseStaticFiles();
  • 没有足够的信息来真正说明您的确切问题是什么。您可以尝试将"~/js/template.js" 替换为"Url.Content("~/js/template.js")",看看是否是您在其他页面上的路由的路径问题。您还应该验证您的_ViewStart.cshtml 或每个页面的视图都包含@{ Layout = "_Layout"; // or whatever layout file you are choosing to use } 的指令。
  • 你说的所有方法我都试过了,Url.Content("~/js/template.js"), UseStaticFiles,但问题依然存在。
  • 建议你给我们template.js的内容和当前layout的内容。

标签: javascript c# .net asp.net-core-mvc


【解决方案1】:
  • 为所有页面创建视图,如布局页面,您可以在共享文件夹中使用默认_Layout.cshtml
  • 在结束正文标签前添加链接js
  • 在你的链接js后添加@RenderSection("scripts", required: false)
  • 如果使用 _Layout.cshtml,则页面使用 Layout - 'your layout path' 不需要此行。
  • 使用结束页面

    @Section 脚本{

    //标签脚本之间写代码

    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-04-23
    • 2019-03-18
    • 2019-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多