2011-04-24 35 views
1

我有一個母版頁,其中包含<head>標籤中的以下行。包括來自路由URL的JavaScript文件

<link href="Styles/Style.css" rel="stylesheet" type="text/css" /> 
<script src="Scripts/navmenu.js" type="text/javascript"></script> 

當我導航到使用URL路由的頁面時,上面的行會生成以下HTML。

<link href="../../Styles/Style.css" rel="stylesheet" type="text/css" /> 
<script src="Scripts/navmenu.js" type="text/javascript"></script> 

根據映射的URL,樣式錶鏈接是正確的。我如何獲得腳本鏈接也是正確的?

P.S.我嘗試在腳本鏈接中設置runat="server",但似乎混淆了ASP.NET。整個項目無法根據JavaScript文件中報告的錯誤編譯進行編譯。 (JavaScript文件運行正常,否則。)

+0

那麼,絕對的URL只能在一個地方工作。例如,我無法在我的開發機器上測試它們。 – 2011-04-24 01:56:24

+0

我真的沒有關注。如果我使用指向我的Web服務器的絕對URL,並且正在測試我的開發機器,那麼我不會測試正在開發的文件。他們會包括錯誤的文件。 (我的開發機器是與我的網絡服務器不同的計算機。) – 2011-04-24 02:08:48

+0

對不起。男孩,我需要檢查一下。我的經驗是「/」在我的開發機器上不起作用。我現在不在我的開發機器上,但是下次我會驗證這一點。 – 2011-04-24 03:40:06

回答

1

它看起來像最好的答案是這樣的:

<link href="Styles/Style.css" rel="stylesheet" type="text/css" /> 
<script src='<%= ResolveClientUrl("~/Scripts/navmenu.js") %>' type="text/javascript"></script> 

需要注意的是,如果我使用ResolveClientUrl()的樣式表<link>標籤,這是行不通的。顯然,這個標籤有特殊處理。