Javascript 母版页js/代码在子文件夹中不起作用

Javascript 母版页js/代码在子文件夹中不起作用,javascript,asp.net,master-pages,Javascript,Asp.net,Master Pages,我在主HTML中有一个对话框,我隐藏它并根据按钮显示它,它也在主HTML中。所有内容在根页面中隐藏/显示良好,但在子文件夹中的页面上不显示。当显示这些内容时,对话框HTML代码永远不会隐藏,按钮单击也不会执行任何操作。 “我的母版页”中的脚本如下所示: <script type="text/javascript"> $(document).ready(function () { $('#Id_GL').click(function () {

我在主HTML中有一个对话框,我隐藏它并根据按钮显示它,它也在主HTML中。所有内容在根页面中隐藏/显示良好,但在子文件夹中的页面上不显示。当显示这些内容时,对话框HTML代码永远不会隐藏,按钮单击也不会执行任何操作。 “我的母版页”中的脚本如下所示:

<script type="text/javascript">
    $(document).ready(function () {
        $('#Id_GL').click(function () {
            $('#div_GL').show();
            $('#div_AP').hide();
            $('#div_AR').hide();
        });           
    });
    </script>
<script src="<%= ResolveUrl("~") %>js/jquery/jquery.min.js"></script>
<script src="<%= ResolveUrl("~") %>js/jquery/jquery.widget.min.js"></script>
<script src="<%= ResolveUrl("~") %>js/jquery/jquery.mousewheel.js"></script>
<script src="<%= ResolveUrl("~") %>js/prettify/prettify.js"></script>

<!-- Metro UI CSS JavaScript plugins -->
<script src="~/js/load-metro.js"></script>

<!-- Local JavaScript -->
<script src="~/js/docs.js"></script>
<script src="~/js/github.info.js"></script>

$(文档).ready(函数(){
$('#Id_GL')。单击(函数(){
$('div_GL').show();
$('div_AP').hide();
$('div_AR').hide();
});           
});
有没有办法让我的母版页与子文件夹页面一起工作? 我这样调用母版页中的javascript

 <script src="js/jquery/jquery.min.js"></script>
<script src="js/jquery/jquery.widget.min.js"></script>
<script src="js/jquery/jquery.mousewheel.js"></script>
<script src="js/prettify/prettify.js"></script>

<!-- Metro UI CSS JavaScript plugins -->
<script src="js/load-metro.js"></script>

<!-- Local JavaScript -->
<script src="js/docs.js"></script>
<script src="js/github.info.js"></script>

这些JavaScript包含引用相对路径。当您位于子文件夹中时,相对路径将指向不存在的文件。 您需要使用解析路径。您可以使用
~/
ResolveUrl(“~”
)来实现这一点

使用您的Include可能是这样的:

<script type="text/javascript">
    $(document).ready(function () {
        $('#Id_GL').click(function () {
            $('#div_GL').show();
            $('#div_AP').hide();
            $('#div_AR').hide();
        });           
    });
    </script>
<script src="<%= ResolveUrl("~") %>js/jquery/jquery.min.js"></script>
<script src="<%= ResolveUrl("~") %>js/jquery/jquery.widget.min.js"></script>
<script src="<%= ResolveUrl("~") %>js/jquery/jquery.mousewheel.js"></script>
<script src="<%= ResolveUrl("~") %>js/prettify/prettify.js"></script>

<!-- Metro UI CSS JavaScript plugins -->
<script src="~/js/load-metro.js"></script>

<!-- Local JavaScript -->
<script src="~/js/docs.js"></script>
<script src="~/js/github.info.js"></script>


我将这两种方法混合在一起,这样您就可以看到它们的区别。

我在使用过的每一版本的VS中都遇到过母版页的问题。我获得要解析的脚本或CSS路径的唯一方法是将它们从解决方案资源管理器拖到母版页的代码视图中。试图用“~”来解决它也不起作用。

发布你的javascript也包含了。javascript包含的路径似乎不正确(我猜是jquery包含)