如何获取 blazor 中点击按钮的索引?

问题描述 投票:0回答:0

制造任务。页面显示最后 100 包产品。屏幕分为两部分:左侧 - 按钮列表,其中包含数据库中元素的代码(如 id),右侧 - 所选包的数据(通过左侧部分的所选代码)。

<Div Class="d-flex flex-column">
        @{
            packages = dbCommands.Select("Prod.Packages", 100);
        }
        @for (int i = 0; i < packages.Rows.Count; i++)
        {
            <button class="btn" onclick=@(()=>{ selectedPackage = i;})>
                <PackageCardMini serialCode=@GetSerialCode(packages, i) date=@GetDate(packages, i)/>
            </button>
        }
    </Div>
    <Div Class="d-flex flex-column">
        @if (packages != null && selectedPackage != null)
        {
            <PackageCard package_id=@GetPackageID(packages, selectedPackage)
                number=@GetNumber(packages, selectedPackage)
                packageCode=@GetPackageCode(packages, selectedPackage)
                serialCode=@GetSerialCode(packages, selectedPackage)
                date=@GetDate(packages, selectedPackage)
                model_id=@GetModelID(packages, selectedPackage)
                line_id=@GetLineID(packages, selectedPackage)
                quantity=@GetQuantity(packages, selectedPackage)
                description=@GetDescription(packages, selectedPackage) />
        }
    </Div>
</Div>
  • packages - 来自数据库的数据,其中包含表“Prod.Pacakges”中的最后一行 100
  • selectedPackage - 包含所需包的行数

在这段代码中,我尝试通过 push i in anonim 函数来选择 onclick 事件中的行号。但我总是等于最后的行数。

我还尝试通过使用 ElementReference 来推动按钮元素发挥作用,但是这样一来,我的理解是,每个元素都应该是静态的,不会在循环中生成。

button events blazor
© www.soinside.com 2019 - 2024. All rights reserved.