首页 > 解决方案 > 如何使用JS在asp.net中的GridView中使用属性查找值?

问题描述

我有一个 GridView

  <asp:GridView ID="Gvr" >
    <Columns>
      <asp:TemplateField HeaderText="Action">
         <ItemTemplate>
            <asp:LinkButton ID="disable" runat="server"   CommandName="disable" OnClientClick="return enableOrDisable()"  
             data-active='<%#Eval("isActive") %>'> </asp:LinkButton>
         </ItemTemplate>
      </asp:TemplateField>
    </Columns>
</asp:GridView>

在那个 GridView 的链接按钮中,我有一个名为 data-active 的属性。我得到它的一些值 0 或 1。但我想使用 JS 访问它的值。我怎么做?

我试过这个:

<script>
function enableOrDisable(){
var isActive = $('data-active').val(); // here it says undefined. I want to get the value of data-active attribute
        if (isactive === 1) { alert('Are you sure you want to disable'); }
        else { alert('Are you sure you want to enable'); }
}

但它不工作

标签: jqueryasp.net

解决方案


以某种方式更改您的标记和您的 JavaScript,直接传递您的元素:

标记:

<asp:LinkButton ID="disable" runat="server"   CommandName="disable" OnClientClick="return enableOrDisable(this)" data-active='<%#Eval("isActive") %>'> </asp:LinkButton>

javascript(也改变你的错字:isActive而不是isactive!):

function enableOrDisable(sender) {
    var isActive = $(sender).attr('data-active'); // here it says undefined. I want to get the value of data-active attribute
    if (isActive === 1) { alert('Are you sure you want to disable'); }
    else { alert('Are you sure you want to enable'); }
}

推荐阅读