我有一个Repeater
有多行。每行有一个LinkButton和一个HiddenField。
HiddenField值在Repeater的事件OnItemDataBound
时绑定。
我的问题是,如何通过此LinkButton的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>
请帮帮我。谢谢大家。
答案 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
}