@User99

Как в ASP.NET Core проверить, было ли изменено значение с предыдущей итерации цикла в Razor Page?

Как проверить, было ли изменено значение с предыдущей итерации цикла в Razor Page?
Например, получаю название дни недели из базы данных, и вывести данные в разные таблицы при изменении дня:
5f10496105777597842107.png

например в python django я использовал функцию ifchange. он автоматом делал. в документации вроде не видел такую функцию или я..)
spoiler
ifchange
ifchanged
Проверяет было ли изменено значение с предыдущей итерации цикла.

Блочный тег {% ifchanged %} используется внутри цикла. Существует два способа использовать тег.

Проверять содержимое тега и если оно было изменено с последней итерации, отображать его. Например, этот код отображает список дней и отображает месяц только при его изменении:

<h1>Archive for {{ year }}</h1>

{% for date in days %}
    {% ifchanged %}<h3>{{ date|date:"F" }}</h3>{% endifchanged %}
    <a href="{{ date|date:"M/d"|lower }}/">{{ date|date:"j" }}</a>
{% endfor %}
Если передано одна или более переменных, проверяет была ли изменена одна из переменных. Например, следующий код отображает дату при каждом изменении, в то же время отображает час, если час или дата были изменены:

{% for date in days %}
    {% ifchanged date.date %} {{ date.date }} {% endifchanged %}
    {% ifchanged date.hour date.date %}
        {{ date.hour }}
    {% endifchanged %}
{% endfor %}
Тег ifchanged может содержать не обязательный блок {% else %}, который будет отображаться, если значение не изменилось:

{% for match in matches %}
    <div style="background-color:
        {% ifchanged match.ballot_id %}
            {% cycle "red" "blue" %}
        {% else %}
            grey
        {% endifchanged %}
    ">{{ match }}</div>
{% endfor %}

  • Вопрос задан
  • 48 просмотров
Пригласить эксперта
Ответы на вопрос 1
@sergeyiljin
Делаю дело
Ну так внутри цикла и ставишь проверку.
Если какие - то данные меняются в базе, то сработает нужный if.
@foreach (var date in days)
{
@if (...)
{
    <p>...</p>
}
else if (...)
{
    <p>...</p>
}
else
{
    <p>...</p>
}
}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Deltasoft Казань
от 60 000 до 100 000 ₽
IQSoft Новосибирск
от 130 000 ₽
BRIO MRS Казань
от 70 000 до 120 000 ₽