此問題基於標題爲「ASP.NET MVC相對路徑」的類似問題,位於here。ASP.NET MVC和Javascript內的相對路徑
我知道在開發ASP.NET應用程序時,絕對路徑和相對路徑會出現問題......尤其是ASP.NET MVC應用程序。在整個應用生命週期,我一直在使用類似以下內容在我的ASPX頁面來解決路徑:
<script type="text/javascript" src="<%=Url.Content("~/Scripts/jquery-1.2.6.js")%>"></script>
我無法離開的路徑爲相對的,因爲它正從發展層次搬來搬去到登臺層到生產層,它可能駐留在IIS中稍微不同的文件夾結構中。
但是,我的問題是我能做些什麼關於JavaScript文件中的相對路徑?他們如何解決?到目前爲止,我已經將每個頁面的Javascript嵌入到頁面本身中,所以我可以使用類似於上面的方法來解析URL。這導致在Javascript看起來像這樣:
$(function() {
$.getJSON('<%= Url.Content("~/home/test/1") %>', null, function(data) {
// Do stuff in here
});
});
,直到我謹一切就ASP.NET頁面,進入位於中心的JavaScript文件這工作得很好,當然。作爲建議由上述question:
或者您可以使用document.location.host 的javascript內建立完全合格的路徑名 : document.location.host + 「/內容/圖片/ MYIMAGE .jpg文件」
另一種方法是讓ASP.NET 構建腳本 的這部分動態,以便充分 限定路徑名是injected.You 可以通過使用 ScriptManager.RegisterStartupScript或做 ScriptManager.RegisterScriptBlock
應用程序是一個相當沉重的Javascript用戶,所以我不能確定第二個選項是去工作。除第一個選項外,是否有更好的方法來解決這個問題?你們做了什麼來解決這個問題?任何幫助將不勝感激。謝謝。