Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net core 计算onclick方法中复选框的ID_Asp.net Core_Razor_Razor Pages_Blazor_Blazor Server Side - Fatal编程技术网

Asp.net core 计算onclick方法中复选框的ID

Asp.net core 计算onclick方法中复选框的ID,asp.net-core,razor,razor-pages,blazor,blazor-server-side,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) { } } @代码{ 私有void UpdateB

我有一个刮胡刀页面,上面有一些复选框。我想在单击CB后评估复选框ID。这就是我到目前为止的情况:

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

@code {

private void UpdateButton(object checkedValue)
    {

    }

}

@代码{
私有void UpdateButton(对象checkedValue)
{
}
}
将textfield(CB_a)的id作为第二个参数发送到UpdateButton方法的正确语法是什么?


@代码{
私有void UpdateButton(对象checkedValue,字符串id)
{
}
}

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

<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)
    {

    }

}

@代码{
私有void UpdateButton(对象值、字符串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; }

}
MyInput.razor:
@代码{
[参数]
公共字符串id{get;set;}
[参数]
public EventCallback OnChange{get;set;}
}

我认为OP有不止一个复选框。我想你可以再次使用“CB_a”而不是
id
。避免重复看起来像是一个挑战。重复可能会导致微妙的错误(人们往往忘记更改两个字符串),我建议仅在非常简单的情况下使用