无法在javascript中获取gridview的选定行索引

时间:2013-05-20 06:09:28

标签: asp.net gridview

我有一个包含某些行/列的gridview和每行的编辑按钮。单击编辑按钮时,将打开一个带有文本框和按钮的弹出窗口。我想知道弹出窗口内单击按钮时所选行的索引。我添加了类似的代码

var table = document.getElementById('<%= gvTimeSlots.ClientID%>');
var Row;
for (var i = 1; i < table.rows.length; i++) {
    Row = table.rows[i];
    alert(Row);
}

但警报给了我“未定义”。我在这里缺少什么?

2 个答案:

答案 0 :(得分:5)

这是我的修复..

function GetSelectedRow(lnk) {
        var row = lnk.parentNode.parentNode;
        var rowIndex = row.rowIndex - 1;
        alert("RowIndex: " + rowIndex);
        return false;
    }

我在链接按钮的 Onclientclick 事件中调用此函数。

<asp:TemplateField HeaderStyle-HorizontalAlign="Left" HeaderStyle-Width="10%" Visible="true">
     <ItemTemplate>
          <asp:LinkButton ID="lnkViewTimeSlots" runat="server" Text="Edit" ForeColor="Blue" OnClick="lnkViewTimeSlots_click" OnClientClick="return GetSelectedRow(this); javascript:shouldsubmit=true;" CausesValidation="false" Style="padding: 0px; margin: 0px;"></asp:LinkButton>
     </ItemTemplate>
 </asp:TemplateField>

答案 1 :(得分:1)

只需你可以得到像

这样的行索引
function GetSelectedRow(lnk) {
        alert("RowIndex: " + lnk.$index;);//This lnk.$index will get the index 
        return false;
    }