我在以下位置有一个javacript文件(例如script.js):
/Website/Shared/Js/script.js
我有两个页面使用这个javascript,但是每个页面似乎都需要一个不同的路径,我无法弄清楚如何解决这两个问题。
其中一个是页面:
/Website/One/Two/Three/page.aspx,这需要路径:
<script src="../../../Shared/Js/script.js" type="text/javascript"></script>
另一页是:
/Website/One/Two/page.aspx,这需要路径:
<script src="../../Shared/Js/script.js" type="text/javascript"></script>
我试图通过
来自根<script src="../Shared/Js/script.js" type="text/javascript"></script>
或
<script src="/Shared/Js/script.js" type="text/javascript"></script>
但这些似乎都不起作用。我发现的临时解决方案是将脚本声明两次,这是愚蠢的,但这就是我现在所能想到的。
答案 0 :(得分:2)
你试过ResolveClientUrl()吗?
<%= ResolveClientUrl("~/Shared/Js/script.js") %>
这是关于差异的好帖子。
Control.ResolveUrl versus Control.ResolveClientUrl versus VirtualPathUtility.ToAbsolute
答案 1 :(得分:1)
您之前可以使用~
,因此服务器可以为您解决此问题。
<script src="~/Shared/Js/script.js" type="text/javascript"></script>
另一种选择是使用base标记,但这也会影响其他资源。
答案 2 :(得分:0)
我确实发现使用:在前面工作得很好。实施例
<script type="text/javascript"
src="<%: ResolveUrl("~/Scripts/lib/JQuery 1.7.2/jquery.min.js") %>">
</script>