如何使用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>
请帮帮我。提前感谢大家。
可以设置多个命令参数,也可以使用中继器的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
}