Я бы просто использовал несколько классов CSS, один для общих стилей фонового изображения, а затем индивидуальный для каждой из категорий, для которых просто установлен определенный стиль фонового изображения с правильной ссылкой на изображение.
примерно так:
@using Nop.Web.Models.Catalog;
@if (Model.Count > 0)
{
<div class="home-page-category-grid">
@(Html.DataList<CategoryModel>(Model, 5,
@<div class="item-box">
<div class="category-item category-@item.Id"> @*Thats where i am adding background-images in the class category-item*@
<h2 class="title">
<a href="@Url.RouteUrl("Category", new { categoryId = item.Id, SeName = item.SeName })" title="@item.PictureModel.Title">
@item.Name</a>
</h2>
<div class="picture">
<a href="@Url.RouteUrl("Category", new { categoryId = item.Id, SeName = item.SeName })" title="@item.PictureModel.Title">
<img style="border-width: 0px;" alt="@item.PictureModel.AlternateText" src="@item.PictureModel.ImageUrl"
title="@item.PictureModel.Title" /></a>
</div>
</div>
</div>
))
</div>
<div class="home-page-category-grid-separator"></div>
Посмотрите, как я добавил category-@item.Id
к тому же объявлению класса?Вы также можете использовать что-то более семантическое, например, имя категории, если оно у вас есть, и т. Д. Затем вы можете сделать это в CSS:
.home-page-category-grid .category-item
{
text-align: center;
margin: 10px 0px 35px 4px; /*width: 150px;*/
width: 166px;
height: 185px;
}
.home-page-category-grid .category-item .category-1
{
background: url('images/picture-bg-1.png') no-repeat 0 100%;
}
.home-page-category-grid .category-item .category-2
{
background: url('images/picture-bg-2.png') no-repeat 0 100%;
}
Есть и другие альтернативы, особенно если вы не используетене знаю URL изображения, пока не выполнится цикл ... в этом случае я бы просто использовал атрибут style
со значением background-image:url(@item.BackgroundImage)
.