2014-01-23 137 views
0

我想表明我的Asp.NET MVC 2項目的形象,但它無法正常工作。我已經嘗試了很多東西。我知道該文件的路徑是有效的,因爲當我在Visual Studio 2010上鍵入"src="時,它使我可以選擇URL並向我顯示項目中的所有類。HTML - 圖像不顯示

我的形象標記看起來像:

<img class="foo" src="Images/logo.jpg"/> 

在我的視圖的文件夾中,我有一個名爲「圖像」的另一個文件夾中,我把「logo.jpg」文件。

我對圖像的CSS實際上只是:

.foo 
{ 
    position: relative; 
} 
+0

當您在瀏覽器中運行網頁時,圖像文件的路徑應該與網頁的路徑匹配。即如果網頁路徑是'/ Default.aspx',那麼你的'Images/logo.jpg'應該存在於'Default.aspx'文件放在服務器中的同一個文件夾中。 –

+0

@seganfredo:你有沒有檢查過你的瀏覽器控制檯?或嘗試添加圖像的完整路徑,即從根目錄到圖像例如:'/ Views/Images/logo.jpg' – super

+0

@Ravinder我的圖像文件夾與我的Default.aspx文件存在於相同的文件夾中。實際路徑是:Views/Home/Images/logo.jpg。我的Default.aspx路徑:Views/Home/Default.aspx –

回答

1

Fiddle代碼工作正常

代碼:

<img class="foo" src="https://encrypted-tbn1.gstatic.com/images?q=tbn:ANd9GcQkcXs-qFPpoDX2Yh7A6IMRtoNvLRa-Fj_MKaIBal92xgo--7DDyQ"/> 

CSS

.foo 
{ 
    position: relative; 
} 

的問題是與IM的來源年齡在後SRC =」 pickurl視覺工作室

enter image description here

選擇圖像源形式PickURL並在這樣做之前的圖像添加到您的項目

enter image description here

找到圖像文件和然後將其添加到項目中,然後添加圖像的URL來源

希望它有幫助

更新

<img class="foo" src="@Url.Content("~/View/Images/logo.jpg")/> 

仔細檢查圖像擴展

0

試試這個:

<img class="foo" src="<%= Url.Content("~/Views/Home/Images/logo.jpg") %>" />

+0

圖像未打開。當我嘗試這樣做時,我收到一個「應用程序服務器錯誤」/'「 –

+0

您的映像位於根目錄的相關位置? – Nick

+0

它放置在我的Visual Studio的項目文件夾中 –

0

我不知道這是否會工作,但之前,我有你同樣的問題但我使用MVC 4. 嘗試將ProjectName/FolderName添加到路徑中。

<img class="foo" src="<projectName>/Images/logo.jpg"/> 
+1

在MVC4 +中,您應該使用'〜'在視圖中開始一個路徑;視圖引擎足夠聰明,知道它必須映射虛擬路徑。 –

+0

@TiesonT。謝謝你提供的信息。 –

-1

@seganfredo,@Ravinder:是的嘗試和使用絕對路徑和向後以你的方式。像:

<img src="http://my-site.com/path/to/img/Images/logo.jpg"/> 
1

似乎更有可能的是ASP.NET是處理你的Images目錄作爲一個受保護的資源,因爲它是Views目錄中。該位在web.config防止目錄瀏覽:

<handlers> 
    <remove name="BlockViewHandler" /> 
    <add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" /> 
</handlers> 

移動Images目錄或者網站根目錄或Content目錄,然後(假設你使用網頁語法)修改圖像的src屬性爲一個這些(取決於你移動):

<%: Url.Content("~/Images/YourImages.png") %>

<%: Url.Content("~/Content/Images/YourImages.png") %>