Шаблонные компоненты Blazor в ASP.NET Core

ID Name
2 Mr. Bigglesworth
4 Salem Saberhagen
7 K-9

Исходный код

..............................Pages/Template/Pets1.razor:................Предок
        @page "/pets1"

<TableTemplate Items="pets" Context="pet">
    <TableHeader>
        <th>ID</th>
        <th>Name</th>
    </TableHeader>
    <RowTemplate>
        <td>@pet.PetId</td>
        <td>@pet.Name</td>
    </RowTemplate>
</TableTemplate>

@code {
    private List<Pet> pets = new()
    {
            new Pet { PetId = 2, Name = "Mr. Bigglesworth" },
            new Pet { PetId = 4, Name = "Salem Saberhagen" },
            new Pet { PetId = 7, Name = "K-9" }
        };

    private class Pet
    {
        public int PetId { get; set; }
        public string Name { get; set; }
    }
}


-------------------------Pages\Template\TableTemplate.razor................Наследник
@typeparam TItem

<table class="table">
    <thead>
        <tr>@TableHeader</tr>
    </thead>
    <tbody>
        @foreach (var item in Items)
        {
            <tr>@RowTemplate(item)</tr>
        }
    </tbody>
</table>

@code {
    [Parameter]
    public RenderFragment TableHeader { get; set; }

    [Parameter]
    public RenderFragment<TItem> RowTemplate { get; set; }

    [Parameter]
    public IReadOnlyList<TItem> Items { get; set; }
}

        
Произошла ошибка. Это приложение может больше не отвечать до перезагрузки.(переведено) Произошла ошибка. Это приложение может больше не отвечать до перезагрузки.(переведено) Reload 🗙
Web hosting by Somee.com