在onclick方法中评估复选框的ID

时间:2019-12-04 14:55:37

标签: asp.net-core razor razor-pages blazor blazor-server-side

我有一个带有一些复选框的剃须刀页面。单击CB后,我想评估复选框ID。那就是我到目前为止所拥有的:

 <input type="checkbox" id="CB_a" @onchange="eventArgs => { UpdateButton(eventArgs.Value); }"  />

@code {

private void UpdateButton(object checkedValue)
    {

    }

}

将文本字段(CB_a)的ID作为第二个参数发送到UpdateButton方法的正确语法是什么?

2 个答案:

答案 0 :(得分:1)

<input type="checkbox" id="CB_a" @onchange="eventArgs => { UpdateButton(eventArgs.Value, "CB_a"); }"  />

@code {
    private void UpdateButton(object checkedValue, string id)
    {

    }

}

答案 1 :(得分:0)

如果您不介意将输入包装到组件中,则:

<MyInput id="Cb_a" OnChange="(e)=> { UpdateButton(e.Item1.Value, e.Item2); }"></MyInput>
<MyInput id="Cb_b" OnChange="(e)=> { UpdateButton(e.Item1.Value, e.Item2); }"></MyInput>
<MyInput id="Cb_c" OnChange="(e)=> { UpdateButton(e.Item1.Value, e.Item2); }"></MyInput>
<MyInput id="Cb_d" OnChange="(e)=> { UpdateButton(e.Item1.Value, e.Item2); }"></MyInput>

@code{

    private void UpdateButton(object value, string id)
    {

    }

}

您的组件看起来像这样:

MyInput.razor:

<input type="checkbox"  @onchange="(e)=>OnChange.InvokeAsync(new Tuple<ChangeEventArgs, string>(e, id))" id="@id" />

@code {

    [Parameter]
    public string id { get; set;}

    [Parameter]
    public EventCallback<Tuple<ChangeEventArgs,string>> OnChange { get; set; }

}