2009-12-21 152 views
2

我寫了一個javascript方法根據是否安裝插件動態顯示圖像。根據頁面的不同,url可能會深入到子路徑中,並且我想知道是否可以在沒有所有marky-mark的情況下返回到圖像的路徑。獲取圖像的路徑

MYIMAGE SRC位置= {}根/Content/Images/myImage.png

現在調用JS到後面幾頁顯示圖像。我顯示示例頁面的路徑以及帶有src路徑的圖像元素。注意它的不同取決於我們的深度。如果我使用絕對路徑,那麼我將不得不爲它改變我的測試環境和生產。我以爲我可以使用〜但我猜不是。想法?

http://mysite.com/sub1/sub2/ - <img src="../../Content/Images/myImage.png" />

http://localhost:2500/sub1/ - <img src="../Content/Images/myImage.png" />

回答

3

波浪號僅用於.NET服務器端代碼相關。

一個簡單的方法來完成你正在尋找的是將根路徑寫入一個JavaScript變量或函數。

例如在你的網頁在服務器端:

public string RootPath 
{ 
    get 
    { 
    return ResolveUrl("~/"); 
    } 
} 

然後用下面的JavaScript:

<script type="text/javascript"> 
<!-- 
function getRoot() 
{ 
    return '<%= RootPath %>'; 
} 
// --> 
</script> 

然後,您可以使用JavaScript getRoot函數獲取的根網站並將其用於您的網址。

+0

是的,我想通了。 – Gabe 2009-12-21 18:10:22

+0

應該這樣做嗎? <%= Url.Content(「〜/ Content/Images/myImage.png」)%> – Gabe 2009-12-21 18:16:49

+0

可能的話,我不得不在上下文中看到它,但你可能是在正確的道路上。類似於您正在嘗試使用的內容,請訪問http://ericdotnet.wordpress.com/2009/03/17/jquery-ui-tabs-and-aspnet-mvc/。讓我知道這是否有幫助。 – 2009-12-21 18:20:49