aspnet-blazorlisted
Install: claude install-skill claude-dev-suite/claude-dev-suite
# ASP.NET Blazor - Quick Reference
> **Deep Knowledge**: Use `mcp__documentation__fetch_docs` with technology: `blazor` for comprehensive documentation.
## Render Modes (.NET 8+)
| Mode | Description | Use For |
|------|-------------|---------|
| `InteractiveServer` | Server-side via SignalR | Internal apps, real-time |
| `InteractiveWebAssembly` | Client-side WASM | Offline, no server dependency |
| `InteractiveAuto` | Server first, then WASM | Best of both worlds |
| Static SSR (default) | No interactivity | Content pages, SEO |
```razor
@* Page-level render mode *@
@rendermode InteractiveServer
@* Component-level *@
<Counter @rendermode="InteractiveWebAssembly" />
```
## Component Pattern
```razor
@* Counter.razor *@
<h3>Counter</h3>
<p>Count: @count</p>
<button @onclick="Increment">Click me</button>
@code {
private int count = 0;
[Parameter]
public int InitialCount { get; set; } = 0;
[Parameter]
public EventCallback<int> OnCountChanged { get; set; }
protected override void OnInitialized()
{
count = InitialCount;
}
private async Task Increment()
{
count++;
await OnCountChanged.InvokeAsync(count);
}
}
```
## Forms with Validation
```razor
<EditForm Model="user" OnValidSubmit="HandleSubmit" FormName="UserForm">
<DataAnnotationsValidator />
<ValidationSummary />
<InputText @bind-Value="user.Name" class="form-control" />
<ValidationMessage For="@(() => user.Name)" />
<InputT