【问题标题】:How to get value of command arugment using javascript in asp.net如何在 asp.net 中使用 javascript 获取命令参数的值
【发布时间】:2013-08-22 07:23:13
【问题描述】:
         <asp:LinkButton ID="lnkprogress" runat="server" class="label label-info"  BackColor="#589FC2"  CommandArgument='<%#Eval("BookingId")%>'  OnClientClick="jk();" >In progress</asp:LinkButton>

此按钮存在于每一行的转发器中。我想使用 javascript 获取命令参数的值。请回复

【问题讨论】:

    标签: javascript asp.net


    【解决方案1】:

    您可以使用 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('&lt;%= lnkProgress.ClientID %&gt;'); 那样容易获得对它的引用。

    【讨论】:

      【解决方案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');
      

      【讨论】:

      • 嘿,我猜你不是 asp.net 程序员。 CommandArgument 已被系统使用,因此您无法将其重命名为 data-CommandArgument。如果您查看我的回复,您会发现我已经复制了它。
      • 好的..你是对的..In detail
      【解决方案3】:

      按照 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>
      

      在你的函数中只引用控件属性:

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

      通过将控件作为参数发送,您不必担心链接按钮是否在另一个容器中,即 gridview。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-09-12
        • 1970-01-01
        • 1970-01-01
        • 2019-06-09
        • 1970-01-01
        • 2021-07-22
        相关资源
        最近更新 更多