2012-02-13 111 views
1

我试图在asp页面中使用一些自定义脚本和css文件。在Visual Studio 2010中,我没有得到任何警告或错误,这些文件的状态,但是当我尝试运行页面,我打开JavaScript控制台我得到的错误:asp.net无法找到资源文件

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

下面是我我试图加载在我的ascx文件中的文件:

<script type="text/javascript" src="scripts/jquery.js"></script> 
<script type="text/javascript" src="scripts/jquery.scripts.js"></script> 
<script type="text/javascript" src="scripts/jquery.alerts.js"></script> 
<link href="styles/jquery.alerts.css" rel="stylesheet"/> 

任何人都知道什么是怎么回事,为什么浏览器无法找到这些文件,但Visual Studio可以?

+0

这些将是页面相对链接您加载用户控件到,尝试使用绝对链接(/ /)。 – Zachary 2012-02-13 16:14:00

+0

有趣的是,我对页面上的两个图标使用了相同的相对链接,它们都工作在' – 2012-02-13 16:21:42

回答

3

当.aspx文件的位置与用户控件(ascx)的位置不同时会发生这种情况。

当用户控件在浏览器中呈现时,它实际上会具有.aspx的位置并尝试从该点进行引用。而在VS中,它会尝试从.ascx位置对文件进行引用。

因此,请尝试引用文件,就好像您从.aspx文件位置创建引用一样。渲染页面时不应该给你任何错误。

+0

好,我需要将子文件夹移动到Default.aspx文件所在的位置,谢谢! – 2012-02-13 16:27:42

1

我已经upvoted aleafonso的答案,因为他是正确的。现在,要解决此问题,可以使用ResolveClientUrl方法。

事情是这样的:

<script type="text/javascript" src='<%=ResolveClientUrl("scripts/jquery.js"%>'></script> 
+0

+1。感谢您为答案增加价值。我不知道这个解决方案。 – aleafonso 2012-02-13 16:42:43