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) @if (server != null)
{ {
<EditForm Enhance="true" Model="server" FormName="serverComponentForm" OnSubmit="ChangeServerStatus"> <div
<InputNumber @bind-Value="server.Id" hidden></InputNumber> style="@($"color:{(server.IsOnline ? "green" : "red")}")">
<InputText @bind-Value="server.Name" hidden></InputText> @server.Name is in: @server.City @(server.IsOnline ? "online" : "offline")
<InputText @bind-Value="server.City" hidden></InputText> &nbsp;
<InputCheckbox @bind-Value="server.IsOnline" hidden></InputCheckbox> <button type="submit" class="btn btn-primary" @onclick="ChangeStatus">Turn On/Off</button>
</div>
<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>
</div>
</EditForm>
} }
@code { @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() private void ChangeStatus()
{
server ??= new Server { Name = "Server 1", City = "Eindhoven" };
}
private void ChangeServerStatus()
{ {
if (server != null) if (server != null)
{ {
server.IsOnline = !server.IsOnline; this.server.IsOnline = !this.server.IsOnline;
} }
} }
} }

View File

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

View File

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