✅ @onchange event not triggering

@page "/"

<PageTitle>Home</PageTitle>

@if(People != null)
{
<h3>People:</h3>
<select @onchange = "ItemSelected" size="4" style="width: 10%;">
@foreach(var person in People)
{
<option value="@person.Id.ToString()">
@person.Name
</option>
}
</select>

@if (SelectedPerson != null)
{
<br />
<div>
Selected Person: @SelectedPerson.Name
</div>
}
else
{
<div>
No name is selected.
</div>
}
}

@code{
Person SelectedPerson;

void ItemSelected(ChangeEventArgs args)
{
SelectedPerson = (from p in People where p.Id == Convert.ToInt32(args.Value.ToString()) select p).FirstOrDefault();
}

private List<Person> People;

public class Person
{
public int Id { get; set; } = 0;
public string Name { get; set; } = "Undefined";
}

protected override void OnInitialized(){
People = new List<Person>();

People.Add(new Person { Id = 1, Name = "Kara Danvers" });
People.Add(new Person { Id = 2, Name = "J'onn J'onzz" });
People.Add(new Person { Id = 3, Name = "Clark Kent" });
People.Add(new Person { Id = 4, Name = "Barry Allen" });
}
}
Was this page helpful?