<asp:LinkButton ID="lnkprogress" runat="server" class="label label-info" BackColor="#589FC2" CommandArgument='<%#Eval("BookingId")%>' OnClientClick="jk();" >In progress</asp:LinkButton>
此按钮存在于每行的转发器中。我想使用javascript.please回复获取命令参数的值
答案 0 :(得分:3)
您可以使用html5数据属性执行此操作:
<asp:LinkButton ID="lnkprogress" runat="server" class="label label-info" BackColor="#589FC2" data-bookingid='<%#Eval("BookingId")%>' CommandArgument='<%#Eval("BookingId")%>' OnClientClick="jk();" >In progress</asp:LinkButton>
然后使用这样的JavaScript检索它:
var lnkProgress = document.getElementById('<%= lnkProgress.ClientID %>');
var bookingID = lnkProgress.getAttribute("data-bookingid");
虽然我假设您的lnkProgress将位于命名容器中,就像其中一个数据绑定控件一样,因此它可能不像getElementById('<%= lnkProgress.ClientID %>');
那样容易获得对它的引用。
答案 1 :(得分:3)
<asp:LinkButton ID="lnkprogress" runat="server" class="label label-info"
BackColor="#589FC2" data-CommandArgument='<%#Eval("BookingId")%>'
OnClientClick="jk();" >In progress</asp:LinkButton>
使用Javascript:
document.getElementsId("lnkprogress")[0].getAttribute("CommandArgument")
使用jQuery:
$('#lnkprogress').data('CommandArgument');
答案 2 :(得分:2)
按照rtpHarry的建议添加html5属性,并将控件作为参数发送到OnClientClick:
<asp:LinkButton ID="lnkprogress" runat="server" class="label label-info" `BackColor="#589FC2" data-bookingid='<%#Eval("BookingId")%>' CommandArgument='<%#Eval("BookingId")%>' OnClientClick="javascript: jk(this);" >In progress</asp:LinkButton>
在你的函数中只引用control属性:
function jk(ctrl) {
var id = ctrl.getAttribute("data-bookingid");
}
通过将控件作为参数发送,您不必担心链接按钮是否在另一个容器内,即gridview。