Answer the question
In order to leave comments, you need to log in
How can I check in ASP.NET Core if a value has changed since the previous loop iteration in a Razor Page?
How to check if value has been changed from previous loop iteration in Razor Page?
For example, I get the name of the days of the week from the database, and output data to different tables when the day changes:
for example, in python django I used the ifchange function. he did it automatically. I didn't see such a function in the documentation or I ..)
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 %}
Answer the question
In order to leave comments, you need to log in
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question