Get GridView selected row DataKey in Javascript

<asp:TemplateField ShowHeader = "False" >     <ItemTemplate>       <asp:HiddenField ID="hdID" runat="server" Value=' <% # Eval("JobID") %>' />    </ItemTemplate> </asp:TemplateField> <asp:TemplateField Visible = "False" >     <ItemTemplate>       <asp:LinkButton ID = "lnkSelect" runat = "server" CommandName = "select" Text = "Select" />     </ItemTemplate> </asp:TemplateField>

Then on the OnRowDataBind have code to set the selected row

protected virtual void Grid_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { // Click to highlight row Control lnkSelect = e.Row.FindControl("lnkSelect"); if (lnkSelect != null) { StringBuilder click = new StringBuilder(); click.AppendLine(m_View.Page.ClientScript.GetPostBackClientHyperlink(lnkSelect, String.Empty)); click.AppendLine(String.Format("onGridViewRowSelected('{0}')", e.Row.RowIndex)); e.Row.Attributes.Add("onclick", click.ToString()); } } }

And then in the Javascript I have code like this

<script type="text/javascript"> var selectedRowIndex = null; function onGridViewRowSelected(rowIndex) { selectedRowIndex = rowIndex; } function editItem() { if (selectedRowIndex == null) return; var gridView = document.getElementById('<%= GridView1.ClientID %>'); var cell = gridView.rows[parseInt(selectedRowIndex)+1].cells[0]; var hidID = cell.childNodes[0]; window.open('JobTypeEdit.aspx?id=' + hidID.value); } </script>

你可能感兴趣的:(Get GridView selected row DataKey in Javascript)