【问题标题】:Not show image model in url background in ASP.NET Core在 ASP.NET Core 的 url 背景中不显示图像模型
【发布时间】:2021-04-22 14:27:23
【问题描述】:

我正在使用一个现成的 html 模板,并使用 ASP.NET Core 3.1 创建了一个。

现在我想用foreach中来自银行的图片地址替换幻灯片的图片。

但是当我这样做时,图像不会显示。

准备好的模板标签:

<";div class="slider-item" style="background-image: url(/SiteTemplate/assets/images/bg_2.jpg)>

我将图片保存在文件夹images/slidepic/wwwroot 中。我测试的项目如下:

<";div class="slider-item" style="background-image: url(/images/slidepic/@item.ImageSlider)>

<";div class="slider-item js-fullheight" style="background-image: url(@item.ImageSlider)>

class="slider-item" style="background-image:url('@Url.Content("~/images/slidepic" + item.ImageSlider) >   

<div class="slider-item" style="background-image:url('@Url.Content(item.ImageSlider)');">

感谢您就我应该查看和更正的内容提供指导。 ////////我的代码是

@model Models.ViewModels.HomeViewModel @foreach(Model.SlideList 中的变量项){

}

【问题讨论】:

  • 这个问题你解决了吗?
  • 嗨,是的。但我用另一种方式解决了。

标签: html jquery asp.net-core asp.net-core-3.1


【解决方案1】:

如果您的 Images 文件夹在您的 wwwroot 下,如下所示:

那么url应该是:

<div class="slider-item" style="background-image: url('@Url.Content("~/images/slidepic/aa.jpg")');">

如果Images 文件夹位于您的应用项目下,如下所示:

您需要在 startup 中进行此更改:

 app.UseStaticFiles();
 app.UseFileServer(new FileServerOptions
        {
            FileProvider = new PhysicalFileProvider(
            Path.Combine(env.ContentRootPath, "Images")),
            RequestPath = "/Images"
        });

然后在你的视野中:

<div class="slider-item" style="background-image: url('@Url.Content("/images/slidepic/aa.jpg")');">

您可以在下面看到可能的演示:

public IActionResult Index()
    {
        var model = new List<Image>
        {
          new Image
          {
              Name="aa.jpg"
          },
           new Image
          {
              Name="bb.jpg"
          },
            new Image
          {
              Name="cc.jpg"
          }
        };
        return View(model);
    }

查看:

@model List<Image>
@foreach (var item in Model)
{
    <div class="slider-item" style="background-image: url('@Url.Content("~/images/slidepic" +"/" + item.Name)');">
       @Html.DisplayFor(m=>item.Name)
    </div>
}

测试结果:

【讨论】:

  • 嗨@sae,你可以试试&lt;div class="slider-item" style="background-image: url('@Url.Content("~/images/slidepic" +"/" + item.ImageSlider)');"&gt;
  • 你的item.ImageSlider是什么?是像aa.jpg这样的图片名吗?
  • 您可以编辑您的案例并在您的视图中添加部分foreach代码
  • 你的图片是背景板,
    必须包含其他元素,否则图片不会显示
  • 你可以看我的演示。
猜你喜欢
相关资源
最近更新 更多
热门标签