Изображения, отображаемые здесь, имеют разные размеры - поэтому каждый набор из 3 элементов должен быть обернут в <div class="row"></div>
, чтобы не допустить, чтобы вещи стали беспорядочными. Но я продолжаю получать эту ошибку:
Server Error in '/' Application.
Parser Error
Description: An error occurred during the parsing of a resource required to service this request. Please review the following specific parse error details and modify your source file appropriately.
Parser Error Message: The foreach block is missing a closing "}" character. Make sure you have a matching "}" character for all the "{" characters within this block, and that none of the "}" characters are being interpreted as markup.
Как я могу отформатировать это так, чтобы он не искажал Razor?
<div class="row">
@foreach (var row in Model.Select((item, index) => new { index, item }))
{
if (row.index != 0 && row.index % 3 == 0)
{
</div><div class="row">
}
<div class="col-sm-4 mix @String.Format(@"category-{0}", row.item.Category.ToString())" data-price="64900" data-date="20130521" data-popularity="3">
<div class="ec-box">
<div class="ec-box-header"><a href="#">@row.item.Name</a></div>
<a href="#"><img src="@row.item.Image.URL" alt=""></a>
<div class="ec-box-footer">
<a href="@Url.Action("Details")" class="btn btn-ar btn-success btn-sm pull-right"><i class="fa fa-search"></i> More info</a>
</div>
</div>
</div>
}
</div>
Похоже, вы @foreach
бритву с тем, как вы кладете блок @foreach
. Попробуйте изменить код на следующий
@foreach (var row in Model.Select((item, index) => new { index, item }))
{
if (row.index == 0 || row.index % 3 == 0)
{
<div class="row">
}
<div class="col-sm-4 mix @String.Format(@"category-{0}", row.item.Category.ToString())" data-price="64900" data-date="20130521" data-popularity="3">
<div class="ec-box">
<div class="ec-box-header"><a href="#">@row.item.Name</a></div>
<a href="#"><img src="@row.item.Image.URL" alt=""></a>
<div class="ec-box-footer">
<a href="@Url.Action("Details")" class="btn btn-ar btn-success btn-sm pull-right"><i class="fa fa-search"></i> More info</a>
</div>
</div>
</div>
if (row.index % 3 == 2 || row.index == Model.Count - 1)
{
</div>
}
}
Вы расстраиваетесь из анализатора с этим
@String.Format(@"category-{0}", row.item.Category.ToString())
Почему нет?
@("category-" + row.item.Category.ToString())
Обратите внимание на использование фигурных скобок {0}
в вашем заявлении.
Вы забыли @
в инструкции if.
@if (row.index != 0 && row.index % 3 == 0)