如何使用链接按钮获取中继器中所选的值

本文关键字:中继器 何使用 链接 按钮 获取 | 更新日期: 2023-09-27 17:52:59

我有一个链接按钮在我的中继器。lnkEdit和lnkDelete..我的问题是我如何分配选定的值和删除它?

这是我的代码:

protected void rptrInsurance_ItemCommand(object source, RepeaterCommandEventArgs e)
{
    try
    {
        if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
        {
            switch (e.CommandName)
            {
                case "Delete":
                    {
                        HCSInsurance oInsuranceDelete = new HCSInsurance();
                        Insurance oInsurance = new Insurance();
                       // oInsurance.InsuranceCode.ID = "2";
                        oInsuranceDelete.DeleteInsurance(oInsurance);
                    }
                    break;
                case "Edit":
                    {
                    }
                    break;
                default:
                    {
                    }
                    break;
            }
        }
    }
    catch (Exception ex)
    {
    }
}
asp.net

<asp:LinkButton ID="lnkEdit" runat="server" onclick="lnkEdit_Click" CommandName="Edit">Edit</asp:LinkButton>&nbsp;<asp:LinkButton 
ID="lnkDelete" runat="server" onclick="lnkDelete_Click" CommandName="Delete" OnClientClick="if (!confirm('Are you sure do you want to delelte it?')) return false;">Delete</asp:LinkButton>
            </td>

如何使用链接按钮获取中继器中所选的值

在链接按钮中使用commandArgument。例子:

<asp:Repeater ID="rptrInsurance" runat="server" 
    OnItemCommand="rptrInsurance_ItemCommand">
    <ItemTemplate>
<asp:LinkButton ID="lnkEdit" runat="server" CommandName="Edit" CommandArgument='<%# Eval("ID") %>'>Edit</asp:LinkButton>&nbsp;
<asp:LinkButton ID="lnkDelete" runat="server" CommandName="Delete" CommandArgument='<%# Eval("ID") %>' OnClientClick="if (!confirm('Are you sure do you want to delelte it?')) return false;">Delete</asp:LinkButton>
    </ItemTemplate>
</asp:Repeater>  

protected void rptrInsurance_ItemCommand(object source, RepeaterCommandEventArgs e)
{
    switch (e.CommandName)
        {
            case "Delete":
                {
                    HCSInsurance oInsuranceDelete = new HCSInsurance();
                    Insurance oInsurance = new Insurance();
                    oInsurance.InsuranceCode.ID = e.CommandArgument;
                    oInsuranceDelete.DeleteInsurance(oInsurance);
                }
                break;
            case "Edit":
                {
                }
                break;
            default:
                {
                }
                break;
        }
}

按钮上的CommandArgument是可行的选择吗?

如果没有,您可以尝试e.Item.DataItem获取您单击的数据绑定项的副本,然后应该能够从中读取ID ?