【发布时间】:2011-06-04 03:14:37
【问题描述】:
我需要在 asp:Repeater 中获取 LinkButton 的 CommandArgument 属性的值。
我有一个 asp:Repeater,带有 2 个 LinkButtons,我将其 CommandArgument 设置为一个值:
<ItemTemplate>
<tr class="odd">
<td><%#DataBinder.Eval(Container.DataItem, "batch_id")%></td>
<td><%#DataBinder.Eval(Container.DataItem, "productId")%></td>
<td><%#DataBinder.Eval(Container.DataItem, "serial_number")%></td>
<td><%#DataBinder.Eval(Container.DataItem, "activation_card_number")%></td>
<td><%#DataBinder.Eval(Container.DataItem, "transaction_amount","{0:C}")%></td>
<td><%#DataBinder.Eval(Container.DataItem, "response_dt", "{0:M/d/yyyy HH:mm:ss}")%></td>
<td style="text-align:center;"><%#DataBinder.Eval(Container.DataItem, "resp_process_msg")%></td>
<td style="text-align:center;"><%#DataBinder.Eval(Container.DataItem, "resp_response_code")%></td>
<td style="text-align:center;"><asp:LinkButton ID="lnkBtnRestageAdd" CommandName="Add" CommandArgument='<%#Eval("activation_card_number")%>' runat="server" Text="stage" class="add" OnClientClick="return false;" /></td>
<td style="text-align:center;"><asp:LinkButton ID="lnkBtnRestageMinus" CommandName="Subtract" CommandArgument='<%#Eval("activation_card_number")%>' runat="server" Text="stage" class="minus" OnClientClick="return false;" /></td>
</tr>
</ItemTemplate>
我使用 OnClientClick="return false;" 抑制了 PostBack这样我就可以在单击链接按钮时弹出一个 jQuery 对话框模式:
if (btnAdd != null) {
$(".add").click(function() {
$("#<%=divDialogAdd.ClientID %>").removeAttr("style");
$("#<%=divDialogAdd.ClientID %>").dialog("open");
});
}
在模态中,我还有 2 个其他 asp:LinkButtons,当单击“是”按钮时,我会像这样进行回发:
yesBtn.click(function() {
setTimeout('__doPostBack(\'btnAdd\',\'\')', 0); //need to add a param
});
我需要做的是以某种方式从中继器中的 LinkButton 中获取 CommandArgument 值,以便我可以将其作为参数传递或将其分配给隐藏字段。我已经尝试过 jQuery 的 attr(),但这仅在使用该函数设置属性时才有效。我怎样才能得到这个值,或者我可以通过什么其他方式来解决这个问题?
【问题讨论】:
标签: javascript asp.net jquery repeater