如何使用LinkBut​​ton的CommandArgument传递隐藏字段值?

时间:2014-08-30 11:01:38

标签: c# asp.net

我有一个Repeater有多行。每行有一个LinkBut​​ton和一个HiddenField。 HiddenField值在Repeater的事件OnItemDataBound时绑定。

我的问题是,如何通过此LinkBut​​ton的HiddenField传递此CommandArgument字段值?

以下是我的源代码。

<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>

请帮帮我。谢谢大家。

2 个答案:

答案 0 :(得分:1)

是的,您可以设置多个命令参数,或者另一种方式是您可以使用FindControl("hidAmount")转发器方法。

  • 您可以使用以下代码。

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

答案 1 :(得分:0)

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

<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

}