Blazor 如何绑定复选框值并在更改时调用方法?

Blazor 如何绑定复选框值并在更改时调用方法?,blazor,blazor-server-side,blazor-client-side,Blazor,Blazor Server Side,Blazor Client Side,我通过调用api填写待办事项列表,因此可以选中一些复选框: 如果有人单击我的复选框,我想调用一个方法。如何同时使用bind和onchange @foreach (var todo in todos) { <li style="margin: 20px;"> <input type="hidden" @bind="todo.Id" /> <input type=&qu

我通过调用api填写待办事项列表,因此可以选中一些复选框:

如果有人单击我的复选框,我想调用一个方法。如何同时使用bind和onchange

@foreach (var todo in todos)
{
    <li style="margin: 20px;">
        <input type="hidden" @bind="todo.Id" />
        <input type="checkbox" @bind="todo.IsComplete" @onchange="eventArgs => { CheckboxClicked(todo, eventArgs.Value); }" />
        <input @bind="todo.Name" />
    </li>
}
@foreach(todo中的变量todo)
{
  • }
    @foreach(todo中的变量todo)
    {
    
  • @* *@
  • } @代码{ private List todos=new List{new Todo{ID=1,IsComplete=false,Caption=“我有一辆自行车”,Name=“Name1”}, 新Todo{ID=1,IsComplete=false,Caption=“我有一辆车”,Name=“Name2”}, 新Todo{ID=1,IsComplete=false,Caption=“我有一条船”,Name=“Name3”}; //已单击专用异步任务复选框(ToDo ToDo,ChangeEventArgs e) // { // } 公共课待办事项 { 公共int ID{get;set;} 公共bool IsComplete{get;set;} 公共字符串标题{get;set;} 公共字符串名称{get;set;} } }
    invoke
    checkbox改为单击IsComplete属性setter上的
    。您的注释代码有效-谢谢:@**@
    @foreach (var todo in todos)
    {
        <li style="margin: 20px;">
            <input type="hidden" @bind="todo.ID" />
           @* <input type="checkbox" checked="@todo.IsComplete" @onchange="eventArgs => 
             { CheckboxClicked(todo, eventArgs.Value); }" /> *@
    
             <input type="checkbox" checked="@todo.IsComplete" @onchange="@((args) => 
             { todo.IsComplete = (bool) args.Value; } )" />
    
            <input @bind="todo.Name" />
        </li>
    }
    
    @code{
    
       private List<ToDo> todos = new List<ToDo>{new Todo{ID = 1, IsComplete = false, Caption = "I have a bike", Name = "Name1"},
    new Todo{ID = 1, IsComplete = false, Caption = "I have a car", Name = "Name2"},
    new Todo{ID = 1, IsComplete = false, Caption = "I have a boat", Name = "Name3"}};
    
     //   private async Task CheckboxClicked(ToDo todo, ChangeEventArgs e)
      //  {
    
      //  }
        
    
        public class ToDo
        {
            public int ID { get; set; }
            public bool IsComplete{ get; set; }
            public string Caption { get; set; }
            public string Name { get; set; }
           
        }
    
    }