Binding Practice

main
syneffort 2 years ago
parent cf3d96bc5e
commit a6e5c4f6b4
  1. 7
      BlazorApp/BlazorApp/Data/UserData.cs
  2. 61
      BlazorApp/BlazorApp/Pages/User.razor
  3. 5
      BlazorApp/BlazorApp/Shared/NavMenu.razor

@ -0,0 +1,7 @@
namespace BlazorApp.Data
{
public class UserData
{
public string Name { get; set; }
}
}

@ -0,0 +1,61 @@
@page "/user"
@using BlazorApp.Data;
<h3>Online Users</h3>
<p>
Users: <b>@_users.Count</b>
</p>
<br />
<ul class="list-group">
@foreach (UserData user in _users)
{
<li @key="user" class="list-group-item">
<button class="btn btn-link" type="button" @onclick="(() => KickUser(user))">[Kick]</button>
<label>@user.Name</label>
</li>
}
</ul>
<br />
<div class="container">
<div class="row">
<div class="col">
<input class="form-control" placeholder="Add User" @bind-value="_inputName"/>
</div>
<div class="col">
<button class="btn btn-primary" type="button" @onclick="AddUser">Add a user</button>
</div>
</div>
</div>
@code {
private List<UserData> _users = new List<UserData>();
private string _inputName;
protected override void OnInitialized()
{
_users.Add(new UserData() { Name = "Simpson" });
_users.Add(new UserData() { Name = "Richard" });
_users.Add(new UserData() { Name = "Tylor" });
}
private void AddUser()
{
if (string.IsNullOrEmpty(_inputName))
return;
_users.Add(new UserData() { Name = _inputName });
_inputName = "";
}
private void KickUser(UserData user)
{
_users.Remove(user);
}
}

@ -29,6 +29,11 @@
<span class="oi oi-dial" aria-hidden="true"></span> Binding
</NavLink>
</div>
<div class="nav-item px-3">
<NavLink class="nav-link" href="user">
<span class="oi oi-flag" aria-hidden="true"></span> User
</NavLink>
</div>
</nav>
</div>

Loading…
Cancel
Save