首页 > 解决方案 > 如何在 Blazor 中获取 HTML 属性的值?

问题描述

我刚开始使用 Blazor,我不想获取 HTML 属性的值并将其作为参数传递给方法(我在 @onchange 事件中调用该方法)。我怎样才能做到这一点?或者甚至有可能吗?

<input type="checkbox" id="foo" @onchange="(MyMethod())"></input>

编辑

我得到了这段代码:
@foreach ((int key, string value) in myDictionary) { <input type="checkbox" id="@key" @onchange="MyMethod()" /> }我不想将选中复选框的所有 id 添加到列表中。这发生在“MyMethod”中,但要做到这一点,我必须以某种方式将复选框的 id 作为参数传递给该方法

标签: blazor

解决方案


如果您通过MyMethod()(带有双亲)您正在调用该函数,则您需要在没有它的情况下通过,以便您通过引用。

<input type="checkbox" id="foo" @onchange="MyMethod"></input>

编辑

您应该传递一个调用您的方法的数组函数,这样您就不会在每次渲染时调用它,而是仅在onchange触发事件时调用它。

@foreach ((int key, string value) in myDictionary)
{
    <input type="checkbox" id="@key" @onchange="(() => MyMethod(key))" />
}

推荐阅读