Get GridView selected row DataKey in Javascript

来源:互联网 发布:嵌入式与单片机的区别 编辑:程序博客网 时间:2024/05/16 10:23
<asp:TemplateField ShowHeader="False">   <ItemTemplate>      <asp:HiddenField ID="hdID" runat="server" Value='<%# Eval("JobID")%>' />    </ItemTemplate></asp:TemplateField><asp:TemplateFieldVisible="False">   <ItemTemplate>      <asp:LinkButtonID="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>
原创粉丝点击