2013-08-22 30 views
1
  <asp:LinkButton ID="lnkprogress" runat="server" class="label label-info" BackColor="#589FC2" CommandArgument='<%#Eval("BookingId")%>' OnClientClick="jk();" >In progress</asp:LinkButton> 

此按鈕直放站存在get命令arugment的價值爲每row.I想用javascript.please回覆如何使用JavaScript在asp.net

回答

2
<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") 

Check this

使用jQuery:

$('#lnkprogress').data('CommandArgument'); 
+0

嘿,我猜你不是一個asp.net程序員。 CommandArgument由系統使用,所以你不能將它重命名爲data-CommandArgument。如果你看我的回覆,那麼你會看到我已經複製了它。 – rtpHarry

+0

好的。你說的沒錯.. [詳細](http://www.javascriptkit.com/dhtmltutors/domattribute.shtml) – Bhavik

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 %>');那樣容易獲得對它的引用。

0

添加HTML5屬性由rtpHarry的建議,併發送控制中的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> 

在你的函數只是引用控制屬性:

function jk(ctrl) { 
      var id = ctrl.getAttribute("data-bookingid"); 
     } 

通過發送控制,你不必擔心,如果LinkBut​​ton的是內部的另一個容器,即GridView的一個參數。

相關問題