
Blazor uses standard C# control flow inside Razor markup to conditionally render content and iterate over collections.
@if (isLoading)
{
<p>Loading...</p>
}
else if (products.Count == 0)
{
<p>No products found.</p>
}
else
{
<ul>
@foreach (var p in products)
{
<li>@p.Name</li>
}
</ul>
}@switch (status)
{
case "active":
<span class="green">Active</span>
break;
default:
<span class="gray">Unknown</span>
break;
}When rendering lists of components, add @key to help Blazor's diffing algorithm update the DOM efficiently:
@foreach (var product in products)
{
<ProductCard @key="product.Id" Product="product" />
}Reference:
TaskLoco™ — The Sticky Note GOAT