在ASP.NET MVC C#项目中,图像文件夹的正确位置是什么?

时间:2019-03-13 07:18:36

标签: c#

什么是ASP.NET MVC C#项目中图像文件夹的最佳位置,以便可以在所有CSS脚本中轻松访问它。 目前我用过....

  • 图像路径:内容/图像
  • css文件路径:** Content / dist / css

    <img src="@Url.Content("../Content/Images/logo.png")> 
    

    适用于所有视图页面。还有

    background-image:url(../Content/Images/logo.png); 
    

    在首页/索引页面上效果很好。 但是当我调用其他页面时...

    background-image:url(../Content/Images/logo.png); 
    

    根本没用!还有

      background-image: url('data:image/jpeg;base64........)  
    

    在所有页面上工作

2 个答案:

答案 0 :(得分:2)

通常,在MVC中,图像位于 Content 文件夹中的 Images 文件夹中。

您可以通过以下方式加载图像 <img src="@Url.Content("~/Content/Images/imagename.extn")" />

但是图像的放置位置完全取决于您。

答案 1 :(得分:0)

图片文件夹:

默认情况下,在ASP.Net MVC Core中,它们位于/wwwroot/images中。在ASP.Net MVC(非核心)中,它们位于/images/assets/images中。

需要将映像部署在服务器上。在ASP.Net Core中,wwwroot是将静态资源放入以后部署的正确位置。

CSS中的图片引用:

关于在CSS文件中引用图像:请注意,只要将图像部署在服务器上并可以从CSS进行访问,图像的实际位置并不重要。为此,您将向CSS添加一些Url()引用。这里的重要部分是这些Urls是相对于CSS文件的。如果从多个CSS文件引用同一张图片,并且这些CSS文件位于不同的文件夹中,则每个CSS文件所需的网址都不相同。

示例:

  • /images/logo.png
  • /css/site.css => Url(../images/logo.png)
  • /css/subsite/bluetheme.css => Url(../../images/logo.png)