如何使用LinkButton的CommandArgument传递隐藏字段值

本文关键字:隐藏 字段 CommandArgument 何使用 LinkButton | 更新日期: 2023-09-27 18:20:00

我有一个带多行的Repeater。每行有一个LinkButton和一个HiddenField。HiddenField值在中继器的事件OnItemDataBound时绑定。

我的问题是,如何使用此LinkButton的CommandArgument传递此HiddenField字段值?

以下是我的源代码。

<asp:Repeater ID="rptServiceRequestList" runat="server" OnItemCommand="rptServiceRequestList_ItemCommand" OnItemDataBound="rptServiceRequestList_ItemDataBound">
   <ItemTemplate>
       <asp:LinkButton ID="btnCustomerDeposit" runat="server" Text="Pay Deposit" CommandName="DepositFees" CommandArgument='<%# Eval("ServiceRequestId") %>'>
       </asp:LinkButton>
       <asp:HiddenField ID="hidAmount" runat="server" />
</asp:Repeater>

请帮帮我。提前感谢大家。

如何使用LinkButton的CommandArgument传递隐藏字段值

可以设置多个命令参数,也可以使用中继器的FindControl("hidAmount")方法。

  • 您可以使用以下代码。

    HiddenField hdnAmount = (HiddenField)rptServiceRequestList.FindControl("hidAmount"); int amnt = Convert.ToInt32(hdnAmount.Value);

您可以将多个命令参数(与命令参数一起发送hidamount)设置为:

<asp:LinkButton ID="btnCustomerDeposit" runat="server" Text="Pay Deposit" CommandName="DepositFees" CommandArgument='<%#Eval("ServiceRequestId") + "|" +Eval("HidAmount")%>'
   </asp:LinkButton>

在ItemCommand上:

 protected void rptServiceRequestList_ItemDataBound(Object Sender, RepeaterCommandEventArgs e) 
 {        
  string[] arg = new string[2];
  arg = e.CommandArgument.ToString().Split('|'); // Split Here to seprate CommandName And Hidden Value
  string YourcommandName = arg[0]; // Your Command Name
  string YourHiddenValue = arg[1]; // Your Hidden Field Value
}