2012-04-06 151 views
0

我有一个包含位于多个文件夹中的页面的asp.net应用程序。我有我的.js文件还一“JS”文件夹,我加入了他们的母版页一样的头参考:如何设置asp.net应用程序的根路径

<script type="text/javascript" src="JS/jquery.min.js"></script> 

现在,当我主页上,脚本加载罚款。但是,当我一些其他的页面出现在另一个文件夹(物理为例)上,路径将追加,所以我得到的错误:

Failed to load resource: the server responded with a status of 404 (Not Found)

类似的事情也发生了我的形象路径和<a>标签也。

现在我想给相对于根路径是这样的路径:

~/JS/VerticalMenu.js 

但这~不带我去我的应用程序的根。我需要设置~应该导致的位置吗?如果是,那么在哪里以及如何?

<script src="~/common/scripts/safeguard.common.js" type="text/javascript"></script> 

您也可以尝试只/前缀的路径:

<script src="/common/scripts/safeguard.common.js" type="text/javascript"></script> 
+0

<脚本类型= “文/ JavaScript的” SRC = “JS/VerticalMenu.js”>是我如何在头 – 2012-04-06 15:54:38

+0

加入我的脚本尝试使用之前'JS'斜杠,如:'<脚本类型=“text/javascript”src =“/ JS/VerticalMenu.js”>' – mshsayem 2012-04-06 15:56:31

回答

1

试试这个

+0

对象[对象DOMWindow]没有方法'addEvent'是我现在正在... – 2012-04-06 16:20:09

+0

听起来像是一个Javascript文件的问题,这可能是一个单独的问题。 – 2012-04-06 17:49:07

0

如果它是一个ASP.NET应用程序,您可以通过在前面的路径~/访问根:

<script type="text/javascript" 
    src="<%=Page.ResolveUrl("~/JS/VerticalMenu.js")%>"></script> 
+0

如果应用程序位于虚拟文件夹中,如'http:// www.mysite.com/MyApp /',则不起作用。 – 2012-04-06 16:02:26

+0

我认为'〜/'应该解析为应用程序的根目录,即使它在虚拟目录中。 – 2012-04-06 16:03:28

+1

No.〜/不工作。路径被附加到如下所示:http:// localhost:50089/Tutorial_Pages/Physics /〜/ JS/VerticalMenu.js – 2012-04-06 16:05:03

5

@Charlie Kilian答案是一个可行的解决方案但是,您还可以在页面顶部的base tag中指定页面中所有相对URL的基本URL。

<head> 
    <base href="http://www.yourdomain.com/anyvirtualdirectory/" /> 
</head> 
+0

+1:如果这个工作,这是一个很好的解决方案。 – 2012-04-06 17:08:06

+0

我忘了''标签。这也是一个很好的解决方案。 – 2012-04-06 17:50:24

相关问题