2012-02-13 197 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