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

时间:2014-07-14 06:12:11

标签: javascript asp.net master-pages

我在主HTML中有一个对话框,我隐藏它并根据一个按钮显示它,该按钮也在主HTML中。一切都隐藏/显示在根页面中,但不在子文件夹中的页面上显示。当显示这些内容时,对话框HTML代码永远不会被隐藏,按钮点击也不会做任何事情。 我的母版页中的脚本是这样的:

<script type="text/javascript">
    $(document).ready(function () {
        $('#Id_GL').click(function () {
            $('#div_GL').show();
            $('#div_AP').hide();
            $('#div_AR').hide();
        });           
    });
    </script>

有没有办法让我的母版页与子文件夹页面一起使用? 我在这样的主页中调用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>

2 个答案:

答案 0 :(得分:1)

这些JavaScript包含指的是相对路径。当您在子文件夹中时,相对路径将导致不存在的文件。 您需要使用解析路径。您可以使用~/ResolveUrl("~")

执行此操作

使用您的包含可能是这样的:

<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>

我混合使用这两种方法,以便您看到差异。

答案 1 :(得分:0)

我在使用的每个VS版本中都遇到过这个问题。我得到解决脚本或CSS路径的唯一方法是将它们从解决方案资源管理器拖到母版页的代码视图中。试着用&#34;〜&#34;来解决它。也没有工作。