Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/472.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 获取用于在布局页面中有条件加载脚本的页面名称_Javascript_Razor Pages - Fatal编程技术网

Javascript 获取用于在布局页面中有条件加载脚本的页面名称

Javascript 获取用于在布局页面中有条件加载脚本的页面名称,javascript,razor-pages,Javascript,Razor Pages,我需要在Razor pages应用程序的布局页面中有条件地加载脚本(脚本需要在其他脚本加载后加载,但假设只有一个页面上存在元素) 我想用像这样的东西 @{ if (Page.Name == "page_name") { <script src="~/js/myscript.js"></script> } } @{ 如果(Page.Name==“Page_Name”){ } } 但是找不到获取页面名称的方

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

我想用像这样的东西

@{
   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页面中实现这一点。