2014-01-23 97 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") %>