by SamProf
@page "/" @foreach (var CI in CheckableItems) { <input type="checkbox" @bind="CI.IsSelected" disabled="@(CheckableItems.Where(ai=>ai.IsSelected).Count() >= 3 && !CI.IsSelected)" /> @CI.Item!.Name <br /> } You have selected items: @(string.Join(", ", CheckableItems.Where(ai => ai.IsSelected).Select(si=>si.Item.Name))) <br /> Having ID values: @(string.Join(", ", CheckableItems.Where(ai => ai.IsSelected).Select(si=>si.Item.ID.ToString()))) <br/> Total item count: @(CheckableItems.Where(ai=>ai.IsSelected).Count().ToString()) @code { public class MyItemClass // Change to whatever class you're selecting from { public int ID; public string? Name; } public class CheckableItem { public MyItemClass? Item; public bool IsSelected; } public List<MyItemClass> AllItems = new List<MyItemClass>(); public List<CheckableItem> CheckableItems= new List<CheckableItem>(); protected override void OnInitialized() { // Sample data-- can be anything you want to list AllItems.Add(new MyItemClass { ID = 1, Name = "Moe"}); AllItems.Add(new MyItemClass { ID = 2, Name = "Curly" }); AllItems.Add(new MyItemClass { ID = 3, Name = "Larry" }); AllItems.Add(new MyItemClass { ID = 4, Name = "Mickey" }); AllItems.Add(new MyItemClass { ID = 5, Name = "Minnie" }); AllItems.Add(new MyItemClass { ID = 6, Name = "Donald" }); // Create bool Carrier foreach (var _item in AllItems) CheckableItems.Add(new CheckableItem { Item = _item }); } }
namespace BlazorFiddleProject { using Microsoft.AspNetCore.Components.Builder; using Microsoft.Extensions.DependencyInjection; public class Startup { public void ConfigureServices(IServiceCollection services) { } public void Configure(IComponentsApplicationBuilder app) { app.AddComponent<App>("app"); } } }
<!DOCTYPE html> <html> <head> <meta charset="utf-8"/> <meta name="viewport" content="width=device-width"> </head> <body> <app>Loading...</app> <script src="_framework/blazor.webassembly.js"></script> </body> </html>

Add component

BlazorFiddle was updated from Blazor 0.7 to .NET 6.0. Your old source code could not work. You need to upgrade to latest.