1
0

Replace EditForm for turn on/off button with server interactivity.

This commit is contained in:
Kevin Matsubara 2025-03-25 12:15:17 +01:00
parent 432a8e8f84
commit 64c2be5028
3 changed files with 12 additions and 26 deletions

View File

@ -2,36 +2,22 @@
@if (server != null)
{
<EditForm Enhance="true" Model="server" FormName="serverComponentForm" OnSubmit="ChangeServerStatus">
<InputNumber @bind-Value="server.Id" hidden></InputNumber>
<InputText @bind-Value="server.Name" hidden></InputText>
<InputText @bind-Value="server.City" hidden></InputText>
<InputCheckbox @bind-Value="server.IsOnline" hidden></InputCheckbox>
<div
style="@($"color:{(server.IsOnline ? "green" : "red")}")">
@server.Name is in: @server.City @(server.IsOnline ? "online" : "offline")
&nbsp;
<button type="submit" class="btn btn-primary">Turn On/Off</button>
<button type="submit" class="btn btn-primary" @onclick="ChangeStatus">Turn On/Off</button>
</div>
</EditForm>
}
@code {
[SupplyParameterFromForm]
private Server? server { get; set; } //= new Server { Name = "Server 1", City = "Einhoven" };
private Server? server { get; set; } = new Server { Name = "Server 1", City = "Einhoven" };
protected override void OnParametersSet()
{
server ??= new Server { Name = "Server 1", City = "Eindhoven" };
}
private void ChangeServerStatus()
private void ChangeStatus()
{
if (server != null)
{
server.IsOnline = !server.IsOnline;
this.server.IsOnline = !this.server.IsOnline;
}
}
}

View File

@ -25,7 +25,7 @@
</div>
<br/>
<ServerComponent></ServerComponent>
<ServerComponent @rendermode="InteractiveServer"></ServerComponent>
<br/>
<a href="@($"/servers/add")" class="btn btn-primary">Add</a>
<br/>

View File

@ -4,7 +4,7 @@ var builder = WebApplication.CreateBuilder(args);
// Add services to the container.
builder.Services.AddRazorComponents()
.AddInteractiveServerComponents();
.AddInteractiveServerComponents(); // Provides server interactivity.
var app = builder.Build();
@ -22,6 +22,6 @@ app.UseStaticFiles();
app.UseAntiforgery();
app.MapRazorComponents<App>()
.AddInteractiveServerRenderMode();
.AddInteractiveServerRenderMode(); // Provides server interactivity.
app.Run();