Javascript 获取用于在布局页面中有条件加载脚本的页面名称
我需要在Razor pages应用程序的布局页面中有条件地加载脚本(脚本需要在其他脚本加载后加载,但假设只有一个页面上存在元素) 我想用像这样的东西Javascript 获取用于在布局页面中有条件加载脚本的页面名称,javascript,razor-pages,Javascript,Razor Pages,我需要在Razor pages应用程序的布局页面中有条件地加载脚本(脚本需要在其他脚本加载后加载,但假设只有一个页面上存在元素) 我想用像这样的东西 @{ if (Page.Name == "page_name") { <script src="~/js/myscript.js"></script> } } @{ 如果(Page.Name==“Page_Name”){ } } 但是找不到获取页面名称的方
@{
if (Page.Name == "page_name") {
<script src="~/js/myscript.js"></script>
}
}
@{
如果(Page.Name==“Page_Name”){
}
}
但是找不到获取页面名称的方法
有人能推荐一种方法吗?方法是在版面中现有脚本下方创建一个新的部分,然后从使用脚本的页面中选择该部分:
@section ExtraScripts{
<script src="~/js/myscripts.js"></script>
}
布局:
@RenderSection("Scripts", false)
@RenderSection("ExtraScripts", false)
然后在需要使用脚本的页面中:
@section ExtraScripts{
<script src="~/js/myscripts.js"></script>
}
@节外部脚本{
}
章节:
如果希望在加载主体后加载MyScript的内容,请将其放入jQuery就绪函数或DomContentLoaded事件处理程序中
DomContentLoaded:为什么不将脚本传递到要使用它的页面的某个部分?因为它需要在布局页面加载的site.js脚本(使用其中的方法)之后加载。两者都需要在正文加载后加载,因为它们使用HTML元素。顺便说一句,我通过询问window.location.href将JavaScript代码设置为页面URL的条件,从而绕过了这个问题,但我确实想知道如何在Razor页面中实现这一点。