获取 Razor 页面名称以在布局页面中有条件地加载脚本

Getting Razor page name for conditional loading of script in layout page

我需要在 Razor 页面应用程序的布局页面中有条件地加载脚本(该脚本需要在其他脚本加载后加载,但假定元素仅存在于一页上)。

我想使用类似

的东西
@{
   if (Page.Name == "page_name") {

      <script src="~/js/myscript.js"></script>
   }
}

但找不到获取页面名称的方法。

任何人都可以推荐一种方法吗?

方法是在现有脚本下方的布局中创建一个新部分,然后从使用该脚本的页面定位该部分:

布局:

@RenderSection("Scripts", false)
@RenderSection("ExtraScripts", false)

然后在需要使用脚本的页面中:

@section ExtraScripts{
    <script src="~/js/myscripts.js"></script>
}

章节:https://www.learnrazorpages.com/razor-pages/files/layout#sections

如果您希望 myscripts 的内容在正文加载后加载,请将其放入 jQuery 就绪函数或 DomContentLoaded 事件处理程序中。

DomContentLoaded : https://developer.mozilla.org/en-US/docs/Web/API/Window/DOMContentLoaded_event