亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

帶有子組件的 Blazor 頁面:如何從行 @onclick 方法按鈕傳遞當前 HTML 表行索引或

帶有子組件的 Blazor 頁面:如何從行 @onclick 方法按鈕傳遞當前 HTML 表行索引或

泛舟湖上清波郎朗 2023-06-09 15:15:15
我有一個帶有子組件(顯示地址)的 Blazor 頁面。子組件顯示一個表格,最后一列顯示一個帶有@oncclick 的按鈕以執行一個方法(即:UpdateAddress(??))。單擊按鈕時,我需要將創建按鈕的行索引或行中的 Entid 變量傳遞到 @onclick 方法中。我如何才能將這些值中的任何一個傳遞給方法?我知道通常您會在按鈕上使用 href,但子組件不使用 @page 鏈接。謝謝             @for (int i = 0; i < Arae.EntAddModelsList.Count(); i++)                {                    <tr>                        <td><input type="checkbox" checked="@Arae.EntAddModelsList[i].Prim" onclick="return false" class="text-success"></td>                        <td>@Arae.EntAddModelsList[i].Label</td>                          <td>@Arae.EntAddModelsList[i].Add1</td>                        <td>@Arae.EntAddModelsList[i].EffBegDate.ToString("MM/dd/yyyy")</td>                        <a id="@i" class="btn btn-primary table-btn" @onclick="@(() => UpdateAddress(i))">                            <i class="fas fa-edit"></i>                        </a>                    </td>                    </tr>                }            }
查看完整描述

2 回答

?
慕斯王

TA貢獻1864條經驗 獲得超2個贊

我會避免使用數組:


在每一行上使用@key。


注意:我不知道 EntAddModelsList 的類型,所以我使用了對象。將其更改為項目類型。



@foreach (var entAddModel in Arae.EntAddModelsList)

{

<tr @key="entAddModel"> 

    ...

    <td>@entAddModel.Label</td> // more concise than Arae.EntAddModelsList[i].Label

    ...

    <button class="btn btn-primary table-btn" @onclick="@(() => UpdateAddress(entAddModel))">

        <i class="fas fa-edit"></i>

    </button>

</tr>

}


@code {

    async ValueTask UpdateAddress(object entAddModel) // Change object to the correct type

    {

        ...

    }

}

邊注:


要綁定到復選框,請使用如下內容:


 <input type="checkbox" checked @bind="entAddModel.Prim">


查看完整回答
反對 回復 2023-06-09
?
蠱毒傳說

TA貢獻1895條經驗 獲得超3個贊

首先,您必須像這樣在循環中定義一個局部變量:


@for (int i = 0; i < Arae.EntAddModelsList.Count(); i++)

   {

       var local = i;

   }

并在 lambda 表達式中使用它代替 i;


至于你的問題:


像這樣定義你的錨元素:


<a href="" id="@i" class="btn btn-primary table-btn" @onclick="@(() => 

                                              UpdateAddress(local))">

                            <i class="fas fa-edit"></i>

 </a>

并在@code塊中添加以下內容:


private Task UpdateAddress(int i)

{

}


查看完整回答
反對 回復 2023-06-09
  • 2 回答
  • 0 關注
  • 186 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號