在下面的代码中我有一个网格视图,我想在点击应用按钮时使用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>
答案 0 :(得分:0)
由于您使用Visible="false"
,控件本身将不会呈现,因此您无法使用Javascript操作它,而是需要使用: -
display:none;