使用javascript获取行ID

时间:2015-03-23 06:39:25

标签: javascript asp.net gridview

在下面的代码中我有一个网格视图,我想在点击应用按钮时使用javascript获取产品ID。我尝试了以下代码,我无法获得产品ID。请帮我这样做。

    function getIndex(index) {
        alert(index);
        var grid = document.getElementById('<%=gdsalespricetrigger.ClientID %>');
        alert(grid);
        var cell = grid.rows[(+index) + 1].cells[0];

        alert(cell.innerHTML);
        var item = 'MainContent_gdsalespricetrigger_lblproductid_' + index.toString();
        alert(item);
        var grid1 = document.getElementById(item).value;
        alert(grid1);

    } 



<asp:GridView Width="100%" runat="server" ID="gdsalespricetrigger" AutoGenerateColumns="false" DataKeyNames="ProductID" CellPadding="4" ForeColor="#333333" ShowFooter="true"
                            PageSize-Mode="NumericPages" OnRowDataBound="gdsalespricetrigger_RowDataBound" PageSize="10" PagerStyle-Visible="true" AllowPaging="true" AllowSorting="true"                            
                            CssClass="mGrid" 
                            PagerStyle-CssClass="pgr" AlternatingRowStyle-CssClass="alt">

                            <Columns>                                               

                                <asp:TemplateField HeaderText="Product ID" ItemStyle-Width="350px" Visible="false">
                                    <ItemTemplate>
                                     <asp:Label ID="lblproductid" Text='<%#Eval("ProductID") %>' runat="server" ></asp:Label>  

                                     </ItemTemplate>                                   
                                </asp:TemplateField>

                                  <asp:TemplateField HeaderText="Product Name" ItemStyle-Width="350px" >
                                    <ItemTemplate>
                                     <asp:Label ID="lblproductname" Text='<%#Eval("ProductName") %>' runat="server" ></asp:Label>  

                                     </ItemTemplate>                                   
                                </asp:TemplateField>


                                 <asp:TemplateField HeaderText="Apply" ItemStyle-Width="50px" >
                                    <ItemTemplate>


                                    <input type="button" value="Apply" onclick="getIndex(<%# Container.DataItemIndex %>);" /> 
                                    </ItemTemplate>                                    
                                </asp:TemplateField>






                            </Columns>
                            <HeaderStyle Font-Bold="True" ForeColor="White" />
                            <FooterStyle HorizontalAlign="Right" />

                        </asp:GridView>

1 个答案:

答案 0 :(得分:0)

由于您使用Visible="false",控件本身将不会呈现,因此您无法使用Javascript操作它,而是需要使用: -

display:none;