@{ int count = 0;}
@if (Model != null)
{
<table style = "width:100%" border = "1">
@foreach (var item in Model)
{
@if (count == 0)
{
<tr>
}
<td style = "width:25%">
<table>
<tr><td>@Html.DisplayFor(model => item.Item_Title)</td></tr>
<tr><td>@Html.DisplayFor(model => item.Item_Content)</td></tr>
<tr><td>@Html.DisplayFor(model => item.Item_Author)</td></tr>
</table>
</td>
@if (count == 3)
{
</tr>
}
@if (count == 3)
{ count = 0; }
else (count != 3)
{ count++; }
}
</table>
}
Как следует из названия,
Я пытался использовать FOREACH для динамического создания таблиц в HTML.
Но возникла проблема.
Моя логика заключается в динамическом создании таблицы 4 * N.
Но код на красном поле распознается программой как текст.
Заставляет программу в красном поле не работать.
Как я могу это исправить?
Он обнаружил, что нет конца
Заставляет следующее стать текстом
Наконец выскочить не существует }
Вы должны отредактировать свой вопрос и разместить свой код там, а не на изображении.
Привет, добро пожаловать в Stackoverflow! Пожалуйста, разместите свой код здесь, а не в каком-либо другом внешнем источнике. Для вашей проблемы - вам не хватает пробела после if (count) -> if (count)
@wazdev Я добавил if перед @, но это привело к тому, что самое внешнее if (Model != null) не найдено}





ОК, похоже, это удалось скомпилировать, когда я поместил вывод условий If в Html.Raw :
@{ int count = 0;}
@if (Model != null)
{
<table style = "width:100%" border = "1">
@foreach (var item in Model)
{
if (count == 0)
{
@Html.Raw("<tr>")
}
<td style = "width:25%">
<table>
<tr><td>@Html.DisplayFor(model => item.Item_Title)</td></tr>
<tr><td>@Html.DisplayFor(model => item.Item_Content)</td></tr>
<tr><td>@Html.DisplayFor(model => item.Item_Author)</td></tr>
</table>
</td>
if (count == 3)
{
@Html.Raw("</tr>")
}
if (count == 3)
{ count = 0; }
else if (count != 3)
{ count++; }
}
</table>}
Я добавил if перед @, но это вызвало самое внешнее if (Model != null) not found} Код, который я изменил, был обновлен до приведенного выше. Или моя позиция неверна?
Я немного переделал ответ. Проверьте это и посмотрите, работает ли это для вас.
Спасибо ~ Это может работать успешно。Я также нашел другой способ использования @:<tr> с тем же эффектом
Всем спасибо за решение проблемы.
Пересмотренная программа выглядит следующим образом
@{целое количество = 0;}
@if (Model != null)
{
<table style = "width:100%" border = "1">
@foreach (var item in Model)
{
if (count == 0)
{
@:<tr>
}
<td style = "width:25%">
<table>
<tr><td>@Html.DisplayFor(model => item.Item_Title)</td></tr>
<tr><td>@Html.DisplayFor(model => item.Item_Content)</td></tr>
<tr><td>@Html.DisplayFor(model => item.Item_Author)</td></tr>
</table>
</td>
if (count == 3)
{
@:</tr>
}
if (count == 3)
{ count = 0; }
else
{ count++; }
}
</table>
}
</td>
Вы пытались поставить символ @ перед оператором if? то есть @if (количество == 3)